我把这段代码放在我自己的页面中测试,当用户名为1234567890sss时,循环测试,账号格式有时能通过,有时不能通过,而且这两种情况还交替进行,不知我的程序错在哪了?
- JScript code
if (!/([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/.test(cft_account))
{
var uin_len = cft_account.replace(/^\s+/g, "").replace(/\s+$/g, "").length;
var pre = /^[0-9]/gm;
if(!pre.test(cft_account.replace(/^0+/,"")))
{
alert("财付通账号格式不正确。");
alert(cft_account);
return false;
}
else if(uin_len != 10 && uin_len != 13)
{
alert("财付通账号格式不正确。(请输入10位或13位的账号)");
return false;
}
}
问题好像出在这个语句上
- JScript code
if(!pre.test(cft_account.replace(/^0+/,"")))
------解决方案--------------------
var pre = /^[0-9]/gm;
这个应该是:var pre = /^[1-9]/gm; 吧