当前位置:编程学习 > JS >>

javascript正则表达式的问题

想构造个正则用来匹配商品价格的输入格式 保留小数点末尾两位数字 希望各位看下我下面的错误在哪里 我输入1.25后 也报不匹配正则
 if(!(/^[1-9][0-9]*\.[0-9]{2}$/.test(f.pprice.value))){
  alert("产品价格格式错误");
  f.pprice.focus() ;
  return false;
补充:上面那部分是我定义了个function validate(f)中的

下面submit那部分是

<input type=submit value="提交" onClick="validate(this)">

追问:可能f.pprice.value的值前后有空格,*1试试.这个何解?

昨天我要别人试了 在他机器上改成.text(f.pprice.value+"") 可以匹配

但是我回去后在自己机器上 然后是不管输入的格式是正确还是错误  都报格式错误

答案:if(!(/^[1-9][0-9]*\.[0-9]{2}$/.test(f.pprice.value*1))){
  alert("产品价格格式错误");
  f.pprice.focus() ;
  return false;

你的正则是对的,可能f.pprice.value的值前后有空格,*1试试.

------------------------------------------------------------------------------

<script>
function test(text){
  if(!(/^[1-9][0-9]*\.[0-9]{2}$/.test(text*1)))  alert("产品价格格式错误");
  else alert('ok');
}

test(' 1.25');
</script>

上一个:javascript 获取文件夹文件个数
下一个:javascript输入一个二维数组

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,