正则表达式验证密码用户名必须包含字母数字下划线

curestars 2016-06-17 09:28:40

function $(elementId)
{
return document.getElementById(elementId);
}
function checkUser()
{
var user=$("user").value;
var userId=$("user_prompt");
userId.innerHTML="";
var r1=/^[a-zA-Z0-9_]*$/;
if(user.length<5 || user.length>16)
{
userId.innerHTML="请输入5-16位字符!";
return false;
}
if(!r1.test(pwd))
{
userId.innerHTML="用户名必须包含数字、字母、下划线!";
return false;
}

return true;
}

function checkpwd()
{
var pwd=$("pwd").value;
var pwdId=$("pwd_prompt");
var reg=/^[a-zA-Z0-9_]*$/;
pwdId.innerHTML="";

if(pwd.length<6 || pwd.length>15)
{
pwdId.innerHTML="密码长度在6-15之间!";
return false;
}


if(!reg.test(pwd))
{
pwdId.innerHTML="密码必须包含数字、字母、下划线!";
return false;
}

return true;

}

我现在是想用正则表达式来验证用户名和密码控件那块,必须包含字母、数字和下划线,正则表达式如下:
var reg=/^[a-zA-Z0-9_]*$/;
if(!reg.test(pwd))
{
pwdId.innerHTML="密码必须包含数字、字母、下划线!";
return false;
}
现在结果就是我输入错误的信息,能检测到控件输入的内容没有包含字母、数字和下划线,会出现提示。但是输入正确的信息它那句警告还在提示,不知道错在哪
麻烦大家帮我看一看
...全文
9961 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
curestars 2016-06-18
  • 打赏
  • 举报
回复
哈哈,谢谢版主,我自己再把表达式修改了一下可以了
xuzuning 2016-06-18
  • 打赏
  • 举报
回复 1
var reg=/^[a-zA-Z0-9_]*$/; 表示只能是 字母、数字、下划线 或空串 而不是 必须包含字母、数字、下划线
var reg=/^(?=.{5,15})(?=.*\w).*$/;
document.write(reg.test('-a+b2-eew9') + '<br>'); //true
document.write(reg.test('aaaaaa') + '<br>'); //true
document.write(reg.test('-+++++') + '<br>'); //false
如果是必须含有 大写字母、小写字母、数字,则 var reg=/^(?=.{5,15})(?=.*[a-z])(?=.*[A-Z])(?=.*\d).*$/; 这通常作为密码强度检查
curestars 2016-06-17
  • 打赏
  • 举报
回复
no
lzj0327 2016-06-17
  • 打赏
  • 举报
回复
var user=$("user").value; var pwd=$("pwd").value; 改成 var pwd=$("#pwd").val(); 这样就没问题了吧
curestars 2016-06-17
  • 打赏
  • 举报
回复
16行那里我后来马虎弄错了,不关那里的事;我的正则表达式就是要求只能由数字、字母和下划线组成的
lzj0327 2016-06-17
  • 打赏
  • 举报
回复
var reg =/^(?![^a-zA-Z]+$)(?!\D+$)(?![^_]+$).{6,15}$/;
lzj0327 2016-06-17
  • 打赏
  • 举报
回复
你写的正则式只能由数字字母下划线组成 试试这个 var reg =/^(?![^a-zA-Z]+$)(?!\D+$)(?![^_]+$).{8,16}$/;
小夏与阿田 2021-06-16
  • 举报
回复
@lzj0327 您这个检测不出来特殊字符和汉字
小夏与阿田 2021-06-16
  • 举报
回复
@小夏与阿田 还有什么办法吗?
cocotsau 2016-06-17
  • 打赏
  • 举报
回复

//第16行
if(!r1.test(pwd))//这里错了吧
if(!r1.test(user))

87,995

社区成员

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

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