常用的正则表达式(RegExp)

分类栏目:用户体验 - 前端开发

13693

发布于 暂无评论

基本且常用的元字符:

 .    匹配除换行符以外的任意字符
\w  匹配字母或数字或下划线或汉字
\s   匹配任意的空白符
\d   匹配数字
\b   匹配单词的开始或结束
^   匹配字符串的开始
$   匹配字符串的结束

限定符:

* + ? 重复0或多次
{n} 重复n次
{n,} 重复n或多次
{n,m} 重复n于m次
ex:匹配整个字符串是8位数的任意数字
/^\d{8}$/
整个字符串必须是4-13位数字,设置区间值,一般QQ可用此与此同时
/^\d{4,8}$/

在线测试正则:http://www.regexpal.com/

RegExp.test();可测试正则表达式

手机号验证:

var mobile= document.querySelector('#mobile');
if (!/^0?(13[0-9]|15[012356789]|18[0123456789]|14[0123456789]|17[0123456789])[0-9]{8}$/.test(mobile.value)){ 
 alert("请输入您的手机号!")
 return;
}

备注:因为支付宝可能是手机号或者邮箱等登录的,所以这里if里是对手机号先进行验证,else if里是对邮箱的验证,regExp.test(),是测试正则表达式。

支付宝账号验证:

var num= document.querySelector('#num');
if (/^0?(13[0-9]|15[012356789]|18[0123456789]|14[0123456789]|17[0123456789])[0-9]{8}$/.test(num.value)){
 } else if(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(num.value)){
 } else {
 alert("请输入您的支付宝账号!")
 return;
 }

验证6-16位登录密码:

var pwd= document.querySelector('#pwd');
if (!/^[a-z0-9]{6,16}$/.test(pwd.value)){ 
 alert("请输入6-16位密码!")
 return;
}