常见正则表达式用例

来源:互联网 发布:金融it行业是投行it 编辑:程序博客网 时间:2024/06/05 01:20

常见正则表达式用例

  • 常见正则表达式用例
    • 一邮箱正则
      • 正则表达式
      • JS邮箱校验例子
    • 二密码正则
      • 常用密码规则
      • 密码分级校验


一、邮箱正则

1. 正则表达式

/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

2. JS邮箱校验例子

function checkEmail(){    var emailadd = document.getElementById("emailId").value;    var emailTip = document.getElementById("emailTip");    if(emailadd == "" || emailadd.length == 0){        emailTip.innerHTML = "!请输入邮箱";        emailTip.style.color = "red";        return false;    }else if(!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(emailadd)){        emailTip.innerHTML = "!请输入正确的邮箱";        emailTip.style.color = "red";        return false;    }else{        emailTip.innerHTML = "正确";        emailTip.style.color = "green";        return true;    }}

二、密码正则

1. 常用密码规则

正则表达式
长度8~16位,数字、字母、字符至少包含两种。
^((?=.*\d)(?=.*\D)|(?=.*[a-zA-Z])(?=.*[^a-zA-Z]))^.{8,16}$

解释说明
* ^.{8,16}$:密码长度为8~16位;
* ((?=.*\d)(?=.*\D)|(?=.*[a-zA-Z])(?=.*[^a-zA-Z])) : 数字、字母、符号至少包含两种。其中:数字、字母、字符至少包含两种,可分为4种情况:数字字母,数字符号,字母符号,数字字母符号:
* (?=.*\d)(?=.*\D):必须包含数字和非数字(包括:数字字母,数字符号,数字字母符号)
* |(?=.*[a-zA-Z])(?=.*[^a-zA-Z]):或者必须包含字母和非字母(包括:符号数字,符号字母,符号数字字母)

2. 密码分级校验

正则表达式
至少有一个大写,一个小写, 一个特殊字符,长度要是8:
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$

JS密码分级校验例子

function checkPassword(){    var password = document.getElementById("passwordId").value;    var pswTip = document.getElementById("pswTip");    if(password == "" || password.length == 0){        pswTip.innerHTML = "!请输入登录密码";        pswTip.style.color = "red";        return false;    }else if(password.indexOf(" ") != -1){        pswTip.innerHTML = "!密码不能包含空格符";        pswTip.style.color = "red";        return false;    }    else if(password.length < 6){        pswTip.innerHTML = "!密码较短,最短支持6个字符";        pswTip.style.color = "red";        return false;    }else if(/^(?=.*\d)(?=.*[a-zA-Z])(?=.*[\W])[\da-zA-Z\W]{8,}$/.test(password)){        pswTip.innerHTML = "强:请牢记您的密码";        pswTip.style.color = "green";        return true;    }else if(/^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/.test(password)){        pswTip.innerHTML = "中:试试字母、数字和标点混合";        pswTip.style.color = "green";        return true;    }else if(/^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$/.test(password)){        pswTip.innerHTML = "弱:试试字母、数字和标点混合";        pswTip.style.color = "green";        return true;    }    else{        return true;    }}
0 0