javascript正则表达式验证

2025-03-03 08:05:48
推荐回答(4个)
回答1:

原来你的小数可以以0结尾啊...

/^0$|^[1-9]+\d*(\.\d*[1-9])?$|^0\.\d+$/

看来你心挺细的,考虑的很周全

还有简单的方法是test,不用match
if(/^0$|^[1-9]+\d*(\.\d*[1-9])?$|^0\.\d+$/ .test(val)){
alert("OK");
}else{
alert("NO");
}

回答2:

试试吧 我也不确定
一:/^0|[1-9]\d*$
二:/^0|[1-9]\d*(\.\d+)?$

回答3:

=====测试了下
0或非0开头的数字
/(^0$)|(^[1-9]\d*$)/
数字+点或点开头的数字序列或0
/(^(\d+\.|\.)\d+$)|(^0$)/

回答4:

match() 方法将检索字符串 stringObject,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。

如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组