我有以下正则表达式,只检查html
中类型编号标记的一个小数点^-?[0-9]*\\.?[0-9]*$
但这个常规未能检查我是否在最后放了小数,例如12.12.
我还需要添加什么来检查这个
答案 0 :(得分:0)
您可以尝试以下方法:"performance counters process object"
答案 1 :(得分:0)
最后允许.
的最简单方法是在\.?
之前设置$
。此外,双\
看起来不对(除非你需要它在你正在使用它的上下文中转义\
):
^-?[0-9]*\.?[0-9]*\.?$
但请注意,您的正则表达式不需要任何实际数字,因此会匹配一些非数字,例如.
,-.
和(使用我的编辑)-..
以上正则表达式也会匹配一个空字符串!
您需要将正则表达式更改为需要数字,或者考虑其他可能不存在的地方。
答案 2 :(得分:0)
我认为您的正则表达式可以使用+
而非最后*
量词来轻松修复:
^-?[0-9]*\.?[0-9]+$
试验:
const regex = /^-?[0-9]*\.?[0-9]+$/gm;
console.log('regex.test?')
console.log('12 = ' + regex.test('12'));
console.log('12. = ' + regex.test('12.'));
console.log('12.1 = ' + regex.test('12.1'));
console.log('12.12. = ' + regex.test('12.12.'));
console.log('-1 = ' + regex.test('-1'));
console.log('-1. = ' + regex.test('-1.'));
console.log('-1.2 = ' + regex.test('-1.2'));
console.log('-.12 = ' + regex.test('-.12'));
console.log('-. = ' + regex.test('-.'));
console.log('-. = ' + regex.test('-'));
console.log('. = ' + regex.test('.'));