<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<input id="T1" type="text" value="1,234,567">
<input id="B1" type="button" value="test" onClick="alert(foo())">
<script>
function foo(){
var myStr = T1.value
if(myStr.charAt(0) == '0')
return "bad";
var nMark = myStr.indexOf(',');
if(myStr.indexOf(',') > 3)
return "bad";
myStr = myStr.substr(nMark + 1);
nMark = myStr.indexOf(',');
while(nMark != -1){
if(nMark != 3)
return "bad";
myStr = myStr.substr(nMark + 1);
nMark = myStr.indexOf(',');
}
if(myStr.length != 3)
return "bad";
return "good";
}
</script>
</BODY>
</HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<input id="T1" type="text" value="1,234,567">
<input id="B1" type="button" value="test" onClick="alert(foo())">
<script>
function foo(){
var myStr = T1.value
if(myStr.charAt(0) == '0')
return "bad";
var nMark = myStr.indexOf(',');
if(myStr.indexOf(',') > 3)
return "bad";
myStr = myStr.substr(nMark + 1);
nMark = myStr.indexOf(',');
while(nMark != -1){
if(nMark != 3)
return "bad";
myStr = myStr.substr(nMark + 1);
nMark = myStr.indexOf(',');
}
if(myStr.length != 3)
return "bad";
return "good";
}
</script>
</BODY>
</HTML>
{
var reg= /^[1-9](\d{1})?,[1-9]\d{2}(,[1-9]\d{2})?$/; if(!reg.test(str))
{
alert("xx,xxx,xxx 格式!");
document.forms[0].elements['sformat'].focus();
return false;
}
}
你的方法不错但是我输入了:123
他还是会提示错误,怎样才能只在输入了“,”的时候才检查呢
多谢了
你的方法也是在输入了:1234(没有,)时,还是会提示错误
还有 1,2F4也可以阿
{
var str = document.forms[0].elements['sformat'].value;
if(str.indexOf(",")>0)
{ var reg= /^[1-9](\d{1})?(,[1-9]\d{2})?(,[1-9]\d{2})?$/;
if(!reg.test(str)) //不能为空,可以为空就把 + 号换成 *
{
alert("xx,xxx,xxx 格式!");
document.forms[0].elements['sformat'].focus();
return false;
}
}
else if(isNaN(str))
{
alert("非数字!");
} }
var r=/^[0-9]{1,3}(,[0-9]{3})*$/
//如果01,123不算就用这句:
//var r=/^[1-9][0-9]{0,2}(,[0-9]{3})*$/var n=['1,234','12,123,123','01,123','12','12,1234','12,12,12','1-3,4-5']
var s=''
for(var i=0;i<n.length;i++)
s+=n[i]+' : '+r.test(n[i])+'\n'
alert(s)
</script>