用户名:/^[a-z0-9_-]{3,16}$/
密码:/^[a-z0-9_-]{6,18}$/
十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/
电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
URL:/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
IP 地址:/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)
{3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
HTML 标签:/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
Unicode编码中的汉字范围:/^[u4e00-u9fa5],{0,}$/
\b 匹配单词的边界;示例:/\bm/,匹配:"moon",匹配值为:"m";/oo\b/,"无匹配";/oon\b/,"oon"
\B 匹配非单词的边界;匹配位置为:字符串首字符之前;字符串结尾字符之后;
两个单词字符之间;两个非单词字符之间;空白字符串。
\cX X为A-Z之间的字符,匹配"CTRL+M(U+000D)"字符。
\d 匹配数字字符,相当于[0-9];示例:/\d/同/[0-9]/,匹配:"2 B2",匹配值为:"2 2"。
\B 匹配非数字字符,相当于[^0-9];示例:/\B/同/[^0-9]/,匹配:"2 B2",匹配值为:"B"。
\f 匹配(U+000C)。
\n 匹配换行(U+000A)。
\r 匹配回车(U+000D)。
\t 匹配水平制表符(U+0009)。
\v 匹配垂直制表符(U+000B)。
\w 匹配字母、数字、下划线,相当于:[A-Za-z0-9_];
示例:/\w/,匹配:"apple $5.28 3D",匹配值为:"a p p l e 5 2 8 3 D"。
\W 匹配非单词字符,相当于:[^A-Za-z0-9_];
示例:/\W/,匹配:"$5.28 50%",匹配值为:"$ . %"。
\n 当n为确定的正整数时,以为表达式从左至右的位置,指代分组位置;
示例:/apple(,)\sorange\1/,匹配:"apple, orange, cherry, peach.",匹配值为:"apple, orange"
座机号码验证:全国座机号码,两种格式:010-12345678或者0530-1234567
正则里的或者 符号|
var reg = /^\d{3}-\d{8}|\d{4}-\d{7}KaTeX parse error: Undefined control sequence: \d at position 20: …或: var reg = /^\̲d̲{3,4}-\d{7,8}/;
功能需求:
如果用户名输入合法,则后面提示信息为:用户名合法,并且颜色为绿色;
如果用户名输入不合法,则后面提示信息为:用户名不符合规范,并且 颜色为绿色
分析:
用户名只能为英文字母、数字、下划线或短横线,并且用户名长度为6-16位
首先准备好正则表达式模式/$[a-zA-Z0-9]{6,16}^/
当表单失去焦点就开始验证
如果符合正则规范,则让后面的span标签添加right类
如果不符合正则规范,则让后面的span标签添加wrong类
var reg = /^[a-zA-Z0-9_-]{6.16}$/;
//这个模式用户只能输入英文字符、数字、下划线、短横线但是有边界符和[]这就限定了只能多选1
username.onblur = function() {
if (reg.test(this.value)) {
notice.className = 'right';
notice.innerHTML = '用户名格式输入正确';
} else {
notice.className = 'wrong';
notice.innerHTML = '用户名格式输入错误';
}
}
手机号码:/^1[3|4|5|7|8][0-9]{9}$/
QQ:[1-9][0-9]{4,}(腾讯QQ号从10000开始)
昵称是中文:
^[\u4e00-\u9fa5]{2,8}$`