bootstrapValidator正则校验密码

正则表达式

大写,小写,数字,英文特殊字符,至少满足三个
英文特殊字符范围:\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F

(?![0-9a-z]+ ) ( ? ! [ 0 − 9 A − Z ] + )(?!^[0-9A-Z]+ )(?![09AZ]+)(?![0-9\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]+$)(?!^[a-zA-Z]+$)(?![a-z\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]+KaTeX parse error: Undefined control sequence: \x at position 10: )(?!^[A-Z\̲x̲21-\x2f\x3a-\x4…)(?!1+KaTeX parse error: Undefined control sequence: \x at position 12: )[a-z0-9A-Z\̲x̲21-\x2f\x3a-\x4…
指定特殊字符范围:~!@#$%^&*()-_+?/

^(?![a-zA-Z]+ ) ( ? ! [ a − z 0 − 9 ] + )(?![a-z0-9]+ )(?![az09]+)(?![A-Z0-9]+KaTeX parse error: Undefined control sequence: \W at position 9: )(?![A-Z\̲W̲_]+)(?![a-z\W_]+KaTeX parse error: Undefined control sequence: \W at position 9: )(?![0-9\̲W̲_]+)[a-zA-Z0-9~!@# %^&*()\-_+?/]{8,12}
快捷验证

oschina提供了在线工具,可以快速验证表达式。网址:
https://tool.oschina.net/regex/

基本概念

(pattern)

匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 ‘(’ 或 ‘)’。

(?=pattern)

正向肯定预查(look ahead positive assert),在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)“能匹配"Windows2000"中的"Windows”,但不能匹配"Windows3.1"中的"Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

(?!pattern)

正向否定预查(negative assert),在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如"Windows(?!95|98|NT|2000)“能匹配"Windows3.1"中的"Windows”,但不能匹配"Windows2000"中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

bootstrapvalidator

静态文件引用:

定义form:
初始化:
$(function () {
    $('resetPwdForm').bootstrapValidator({
            live: 'submitted', //enabled控件发生变化就验证。

message: ‘This value is not valid’,
 feedbackIcons: {
        valid: ‘glyphicon glyphicon-ok’,
        invalid: ‘glyphicon glyphicon-remove’,
        validating: ‘glyphicon glyphicon-refresh’
         },

        fields: {
            oldPwd: {
                message: '旧密码验证失败',
                validators: {
                    notEmpty: {
                        message: '不能为空'
                    }
                }
            },
            newPwd: {
                validators: {
                    notEmpty: {
                        message: '不能为空'
                    },
                    stringLength: {
                        min: 8,
                        max: 12,
                        message: '长度8-12位'
                    },
                    regexp: {
                        regexp: ^(?![a-zA-Z]+$)(?![a-z0-9]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9~!@#$%^&*()_+?/]{8,12}$
                        message: 至少包含三种:大写字母、小写字母、数字、特殊字符(~!@#$%^&*()_+?/)
                    },
                    identical: {
                        field: 'againPwd',
                        message: '两次输入密码不一致'
                    }
                }
            },
            againPwd: {
                validators: {
                    notEmpty: {
                        message: '不能为空'
                    },
                    stringLength: {
                        min: 8,
                        max: 12,
                        message: '长度8-12位'
                    },
                    regexp: {
                        regexp: ^(?![a-zA-Z]+$)(?![a-z0-9]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9~!@#$%^&*()_+?/]{8,12}$
                        message: 至少包含三种:大写字母、小写字母、数字、特殊字符(~!@#$%^&*()_+?/)
                    },
                    identical: {
                        field: 'newPwd',
                        message: '两次输入密码不一致'
                    }
                }
            }
        }
    });
});
//newPwd 和againPwd 都需要定义identical

验证:

( ′ r e s e t P w d F o r m ′ ) . b o o t s t r a p V a l i d a t o r ( ′ v a l i d a t e ′ ) i f ( ('resetPwdForm').bootstrapValidator('validate') if( (resetPwdForm).bootstrapValidator(validate)if((‘resetPwdForm’).data(‘bootstrapValidator’).isValid()){
//验证通过,开始操作
} else {
//验证不通过
}


  1. A-Z\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F ↩︎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值