基本且常用的元字符:
. 匹配除换行符以外的任意字符 \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; }