javascript - 密码验证脚本不起作用

标签 javascript html validation

我正在使用以下脚本来验证密码。验证的目标是:

  1. 密码字段不能为空
  2. 密码长度应介于 6 到 10 个字符之间
  3. 密码不应包含空格和特殊字符
  4. 密码应为字母数字。

但是使用以下代码,它通过了前 3 个目标,但即使在输入字母数字文本后,它仍然会发出警报:

"Password Should Contain Alphabet And Numbers Both".

需要你的帮助

代码是:

if(document.subForm.password.value==""){
  alert("Please Enter Your Desired Password....");
  document.subForm.password.focus();
  return false;
}
if(document.subForm.password.value.length < 6 || document.subForm.password.value.length > 10){
  alert("Password Length Should Be In Between 6 And 10 Characters.");
  document.subForm.password.focus();
  return false;
}
var re = /^[\w\A-Z]+$/;
if(!re.test(document.subForm.password.value)) {
  alert ("Your Password Has Spaces In Between The Words \n\nOr\n\nIt Contains Special Characters.\n\nThese Are Not Allowed.\n\nPlease Remove Them And Try Again.");
  document.subForm.password.focus();
  return false;
}
var realphanumeric = /^[a-z_A-Z_0-9]+$/;
if (!realphanumeric.test(document.subForm.password.value)){ 
  alert("Password Should Contain Alphabet And Numbers Both");
  document.subForm.password.focus();
  return false;
}

最佳答案

Aragon0建议使用开源script from dropbox检查密码强度。我建议您检查一下。

<小时/>

如果您想要一个正则表达式来检查所有内容:

^\w{6,10}$

说明:

  1. 从字符串的开头 (^ ) 到结尾 ($)...
  2. 仅匹配字母数字字符 ([A-Za-z_0-9]),
  3. 长度为 6-10 个字符 ({6-10})

如果你想强制用户至少拥有一个号码,你可以这样做:

^(?![A-Za-z_]+$)\w{6,10}$

关于javascript - 密码验证脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25163171/

相关文章:

javascript - 使用 Browserify 时公开全局变量

javascript - 同时模拟 firebase 作为对象和函数的身份验证?

javascript - 突出显示当前页面菜单项。当选择子菜单项时也突出显示主菜单项

css - 将 div 更改为 ulist

javascript - 使用最新 Ember Data 版本中的 RESTSerializer 格式化 JSON

html - 如何在中心对齐 3 个框

javascript - 向上滚动时使用 animate() 并显示 div

Python - 如何检查页面中不应存在的元素

html - 使用模式属性限制 Bootstrap 输入字段中的字符

Angular 响应式(Reactive)表单自定义控件异步验证