js下则表达式的问题

zgzhly 2009-11-12 01:32:06
else if(username!=null&&username!=""&&username.replace(/[0-9a-zA-Z_]/g,"").length>0)
{
alert("用户名为字母数字组合!");
document.getElementById("txt_UserName").value="";
document.getElementById("txt_UserName").focus();
return false;
}

我的理解是username.replace(/[0-9a-zA-Z_]/g,"").length>0应该是将字母和数字替换成"",如果length>0的话表示字符串里面有数字或字母,但不是这样的length>0表示输入的有字母和数字以外的符号,请问这是怎么回事
...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgzhly 2009-11-12
  • 打赏
  • 举报
回复
ok,我现在知道了,谢谢楼上的
ivws_19 2009-11-12
  • 打赏
  • 举报
回复
数字字母下划线,直接用\w就可以了
length大于0,就说明username里有非数字字母下划线的字符
wushaokai 2009-11-12
  • 打赏
  • 举报
回复
0-9a-zA-Z_这些符号都被替换成"",里面是空的,不是空格,楼主看错了吧,这样0-9a-zA-Z_就不存在了,剩下的长度大于0的话,自然是有其他的字符了
草根醉秋意 2009-11-12
  • 打赏
  • 举报
回复
是替换了以后的长度,就是把数字、字母和下划线替换成“”,如果他的长度大于0的话说明他包含了其他的字符(数字、字母和下划线以外)

87,920

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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