正则表达式至少包含大写字母、小写字母、数字、特殊符号四种中的任三种

用一条正则表达式表示会增强书写的难度,此处使用条件判断的方法来实现四种中选择三种的方式来增强密码的难度,代码如下:

//校验方法
function passwordValidate(str){
    var rC = {
        lW:'[a-z]',//小写字母
        uW:'[A-Z]',//大写字母
        nW:'[0-9]',//汉字
        sW:'[\\u0020-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E]'//特殊字符
    };
    function Reg(str, rStr){
        var reg = new RegExp(rStr);
        if(reg.test(str)) return true;
        else return false;
    }
    if(str.length < 8){
        alert("请至少输入8位及以上密码");
        return false;
    }else{
	    var tR = {
                l:Reg(str, rC.lW),
                u:Reg(str, rC.uW),
                n:Reg(str, rC.nW),
                s:Reg(str, rC.sW)
        };
        if((tR.l && tR.u && tR.n) || (tR.l && tR.u && tR.s) || (tR.s && tR.u && tR.n) ||                                     (tR.s && tR.l && tR.n)){
            //密码符合要求
            return true;
        }else{
            alert("您的密码必须含有“小写字母”、“大写字母”、“数字”、“特殊符号”中的任意三种");
            return false;
        }
    }
}

 

调用校验规则的方法,通常会在提交表单之前调用,如果该校验返回true,则提交表单,反之停止提交表单。调用方法如下:

//提交表单方法
function submit(){
    var passwordValidateStatus = passwordValidate($('#password').val());//获取用户输入的密码,并将密码传入校验方法中校验
    if(!passwordValidateStatus){
        return false;
    }
    //省略提交的方法........
}

 

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值