基础语法
/正则表达式主体/修饰符(可选)
常见的正则情况
(?![0-9]+$) 这句意思是设定后面不能为纯数字
(?![a-z]+$) 这句意思是设定后面不能为纯小写字母
(?![0-9a-z]+$) 不能为小写字母与数字
(?![0-9A-Z]+$) 不能为大写字母与数字
(?![0-9a-zA-Z]+$) 不能为大写,小写字母与数字实例
必须包含数字、英文字母、特殊符号且大于等于8位
特殊符号包括: ~!@#$%^&*
*正则表达式如下:*
</^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,}$/>
(?=.**[a-z]+$)在字符某一位置存在a-z的字符
{8.16}$规定密码长度在8-16位之前改上网认证正则写过一个实例
function pswTest() { //对密码强度进行验证,大小写字母,特殊字符,数字,四选三,在8位数以上 var psw = document.getElementsByName("password")[0].value; var testPassword = /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,}$/; if (testPassword.test(psw) === false){ alert("修改密码后再尝试登录"); return false; }else return true; //函数返回的是一个布尔值,需要在JS主体对返回值进行判断 //然后进行相关操作 }
正则看起来很乱,但其实还是有规律可循的。
最重要的还是在写代码之前把自己的逻辑理清楚,核心思想就是排列组合的穷举方法,把该判断的情况都列出来。
最后加上一些主体函数的操作就能实现正则的验证。