js 正则表达式校验必须包含字母、数字、特殊字符

it2025-05-05  8

1.情景展示

  在注册时,密码要求必须同时包含:字母、数字、特殊字符,如何实现?

2.原因分析

  用正则表达式进行校验,是最方便的! 

3.解决方案

// 密码必须由 8-64位字母、数字、特殊符号组成 var reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,64}$/; if (reg.test(password)) {// 验证通过 }

4.实际应用

HTML片段

<table class="table_add" border="0" width="100%"> <tr> <td align="right" class="FormItemText" width="30%"> 密码: </td> <td class="FormItemControl" width="70%"> <input type="hidden" name="USERID" value="${param.USERID}"> <input type="password" class="TextBox" id="viewAdd_userPassword" name="USERPASSWORD" title="密码长度为8-64个字符,必须包括数字、字母、特殊字符"/> </td> </tr> <tr> <td align="right" class="FormItemText"> 确认密码: </td> <td class="FormItemControl"> <input type="password" class="TextBox" id="viewAdd_userConPassword""/> </td> </tr> </table> 

JAVASCRIPT片段

/** * form表单提交前,密码校验 */ function validatePassword() { var password = $get('viewAdd_userPassword').value; // 去掉空格 password = password.replace(/\s/g,""); if ("" != password) { // 密码必须由 8-64位字母、数字、特殊符号组成 var reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,64}$/; if (reg.test(password)) {// 验证通过 // form表单提交前,去除空格 $get('viewAdd_userPassword').value = password; var password2 = $get('viewAdd_userConPassword').value; if (password2 != password) {// 密码不一致 Dialog.Alert("消息提示", "两次输入的密码不一致,请重新输入!", function (result) { $get("viewAdd_userPassword").focus(); }, null, 50); return false; } return true; } else { Dialog.Alert("消息提示", "密码长度为8-64个字符,必须包括数字、字母、特殊字符!", function (result) { $get("viewAdd_userPassword").focus(); }, null, 50); } return false; } else { Dialog.Alert("消息提示", "请输入新密码!", function (result) { $get("viewAdd_userPassword").focus(); }, null, 50); } return false; }

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

个人主页常用js

 

 

转载于:https://www.cnblogs.com/Marydon20170307/p/10314699.html

相关资源:数据结构—成绩单生成器
最新回复(0)