日期:2014-05-16  浏览次数:20347 次

JS 正则验证。。。 ############## 100%结贴,在线等。

  $price = $("#txtStaringPrice").val();
  if(!(\d*(.\d)?).test($price))
{
   alert("输入不正确!");
  return false;
}


验证价格输入, 最后只能输入一位小数。 上面的表达式是不是不正确? 

还有test 和exec 用法是一样么?

------解决方案--------------------
(.\d)? 这个 貌似就变成了 1.2.2.2.2.2...  这种格式的数字了吧
------解决方案--------------------
正则要用/  /
  if(!/\d*(.\d)?/.test($price))

------解决方案--------------------
test() 返回一个Boolean值,它指出在被查找的字符串中是否存在模式。
exec() 用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组。

------解决方案--------------------
这个才对
if(!/^\d*(\.\d)?$/.test($price))

------解决方案--------------------
不败,你少了一个加号
$price = $("#txtStaringPrice").val();
if(!(/\d*(.\d+)?/).test($price))
{
   alert("输入不正确!");
   return false;
}

------解决方案--------------------
呃,楼上的也少了,要对点转义

$price = $("#txtStaringPrice").val();
if(!(/\d*(\.\d+)?/).test($price))
{
   alert("输入不正确!");
   return false;
}