基础语法

/正则表达式主体/修饰符(可选)

常见的正则情况

(?![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主体对返回值进行判断  
//然后进行相关操作
} 

正则看起来很乱,但其实还是有规律可循的。
最重要的还是在写代码之前把自己的逻辑理清楚,核心思想就是排列组合的穷举方法,把该判断的情况都列出来。
最后加上一些主体函数的操作就能实现正则的验证。