大家帮忙看下,这个javascript正则的问题出在哪?

PHP编程者 2011-03-18 05:17:11
我把这段代码放在我自己的页面中测试,当用户名为1234567890sss时,循环测试,账号格式有时能通过,有时不能通过,而且这两种情况还交替进行,不知我的程序错在哪了?

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;
}
}


问题好像出在这个语句上

if(!pre.test(cft_account.replace(/^0+/,"")))
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
PHP编程者 2011-03-18
  • 打赏
  • 举报
回复
找到问题症结了,这个让人蛋疼的“g”标识,
http://blog.csdn.net/blackpark/archive/2007/05/23/1622483.aspx
life169 2011-03-18
  • 打赏
  • 举报
回复
var pre = /^[0-9]/gm;

这个应该是:var pre = /^[1-9]/gm; 吧
PHP编程者 2011-03-18
  • 打赏
  • 举报
回复
难道今天就石沉大海了?兄弟们

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧