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

 

1.情景展示

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

2.原因分析

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

3.解决方案

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

4.实际应用

HTML片段

密码:
确认密码:
 

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

你可能感兴趣的:(js 正则表达式校验必须包含字母、数字、特殊字符)