网上很多都有说用正则表达式来验证数据的格式是否正确,这个主要是针对金额数据的检验。这个检验比较严紧,如输入:01.00都不行,只能是1.00,就是第一位不能为0,要么就是单独输入一个0或0.00,默认检查两位小数,并且限制金额中,逗号的输入。如不允许1,123.00这样的数据,只能是1234.00 最之,要怎么样的格式只要修改一下正则表达式就可以。大家如果发现下面的代码测试不匹配的话,可以留言,我再修改。
<title>无标题文档</title>
<script language="javascript">
function isMoney( s )
{
var regu1 = /^[1-9]{1}[0-9]{0,}[/.]{0,1}[0-9]{0,2}$/; //匹配数字或两位小数,但第一位不能为0,如1.23 但不匹配0.23
var regu2 = /^[0]$/; //匹配0
var regu3 = /^[0][/.][0-9]{0,2}$/; //匹配0.12这样的两位小数
var re1 = new RegExp(regu1);
var re2 = new RegExp(regu2);
var re3 = new RegExp(regu3);
if (re1.test(s) || re2.test(s) || re3.test(s) )
{
alert(s +" 格式正确");
return true;
}
else
{
alert(s+" 格式错误");
return false;
}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="money" id="textfield" />
</label>
<label>
<input type="submit" name="button" id="button" value="提交" οnclick="isMoney(money.value)"/>
</label>
</form>
</body>
</html>