关于密码(弱口令)的正则表达式校验

需求=新建用户时需验证用户密码,必须包含数字、大小写字母,且至少六位。

          在登录时,必须校验之前不符合规则的弱口令密码,规则同上;

正则表达式为  (java、js通用),默认6至18位

(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,18}$

js判断如下(value为判断对象):

var m = /(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,18}$/;
if (value.match(m)) {
    return true;
} else {
    return false;
}

java判断如下:

//判断是否弱密码
boolean isWeakPwd = false;
if (!password.matches("(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,18}$")) {
   isWeakPwd = true;
}

拓展正则表达式部分:

1、用户名正则

//用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

2、Email正则

//Email正则
var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

3、手机号正则

//手机号正则
var mPattern = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$/;

4、身份证正则

//身份证号(18位)正则
var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
5、IPV4地址正则

//ipv4地址正则
var ipP = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
6、QQ号正则

//QQ号正则,5至11位
var qqPattern = /^[1-9][0-9]{4,10}$/;

7、微信号正则

//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;

8、车牌号正则

//车牌号正则
var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

9、包含中文正则

//包含中文正则
var cnPattern = /[\u4E00-\u9FA5]/;

猜你喜欢

转载自blog.csdn.net/wiliam_9/article/details/81634118