. RegExp:正则表达式对象
1. 正则表达式:定义字符串的组成规则。
1. 单个字符:[]
如: [a] [ab] [a-zA-Z0-9_]
特殊符号代表特殊含义的单个字符:
\d:单个数字字符 [0-9]
\w:单个单词字符[a-zA-Z0-9_]
2. 量词符号:
?:表示出现0次或1次
【:表示出现0次或多次】
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n
m如果缺省: {,n}:最多n次
n如果缺省:{m,} 最少m次
3. 开始结束符号
^:开始
$:结束
2. 正则对象:
1. 创建
1. var reg = new RegExp(“正则表达式”);
2. var reg = /正则表达式/;
2. 方法
1. test(参数):验证指定的字符串是否符合正则定义的规范
9. Global
1. 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。 方法名();
2. 方法:
encodeURI():url编码
decodeURI():url解码
encodeURIComponent():url编码,编码的字符更多
decodeURIComponent():url解码
parseInt():将字符串转为数字
逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否是NaN
NaN六亲不认,连自己都不认。NaN参与的==比较全部问false
eval():讲 JavaScript 字符串,并把它作为脚本代码来执行
# 正则表达式符号
/…/ 代表一个模式的开始和结束
星号0位到多位,加号至少一位;问号至多一位【0位或一位】
^ 匹配字符串的开始
$ 匹配字符串的结束
\s 任何空白字符
\S 任何非空白字符
\d 匹配一个数字字符,等价于[0-9]
\D 【除了数字之外的任何字符,】等价于[^0-9]
\w 匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]
\W 任何非单字字符,等价于[^a-zA-z0-9_]
. 除了换行符之外的任意字符
{n} 匹配前一项n次
{n,} 匹配前一项n次,或者多次
{n,m} 匹配前一项至少n次,但是不能超过m次
星号匹配前一项0次或多次,等价于{0,}
加号匹配前一项1次或多次,等价于{1,}
? 【匹配前一项0次或1次】,也就是说前一项是可选的,等价于{0,1}
reg.test(var)
function checkPwd(){
var pwdCon = KaTeX parse error: Undefined control sequence: \d at position 42: … var reg=/^\̲d̲{6,12}/;
if (reg.test(pwdCon)==false) {
// if (!reg.test(pwdCon)) { 此行同上
$("#pwdMess").html(“输入密码长度必须为6-12位”);
$(".pwd").addClass(“bordercolor”);
return false;
}else{
$("#pwdMess").html("");
$("#pwdMess").removeClass(“bordercolor”);
return true;
}
}
密码验证:一、密码必须是6~18位之间的数字,正则表达式为"1{6,18}
"
,
其
中
[
0
−
9
]
表
示
必
须
是
数
字
,
6
,
18
表
示
必
须
在
6
到
18
位
之
间
二
、
密
码
中
只
能
包
含
字
母
和
数
字
的
,
正
则
表
达
式
为
:
"
(
?
!
[
0
−
9
]
+
",其中[0-9]表示必须是数字,{6,18}表示必须在6到18位之间 二、密码中只能包含字母和数字的,正则表达式为:"^(?![0-9]+
",其中[0−9]表示必须是数字,6,18表示必须在6到18位之间二、密码中只能包含字母和数字的,正则表达式为:"(?![0−9]+)(?![a-zA-Z]+
)
[
0
−
9
A
−
Z
a
−
z
]
6
,
16
)[0-9A-Za-z]{6,16}
)[0−9A−Za−z]6,16“其中(?![0-9]+
)
表
示
排
除
掉
只
有
数
字
的
组
合
,
(
?
!
[
a
−
z
A
−
Z
]
+
)表示排除掉只有数字的组合,(?![a-zA-Z]+
)表示排除掉只有数字的组合,(?![a−zA−Z]+)表示排除掉只有字母的组合,[0-9A-Za-z]表示必须有字母或数字。
三、密码中可以有(可有可没有)特殊字符的组合,正则表达式为”^(?![0-9]+
)
(
?
!
[
a
−
z
A
−
Z
]
+
)(?![a-zA-Z]+
)(?![a−zA−Z]+)[0-9A-Za-z\W]{6,18}
"
,
其
中
[
0
−
9
A
−
Z
a
−
z
W
]
里
面
的
W
即
表
示
特
殊
字
符
四
、
密
码
中
必
须
包
含
字
母
、
数
字
和
特
殊
字
符
的
,
正
则
表
达
式
为
"
(
?
!
[
0
−
9
]
+
",其中[0-9A-Za-z\\W]里面的\\W即表示特殊字符 四、密码中必须包含字母、数字和特殊字符的,正则表达式为 "^(?![0-9]+
",其中[0−9A−Za−zW]里面的W即表示特殊字符四、密码中必须包含字母、数字和特殊字符的,正则表达式为 "(?![0−9]+)(?![a-zA-Z]+
)
(
?
!
[
0
−
9
a
−
z
A
−
Z
]
+
)(?![0-9a-zA-Z]+
)(?![0−9a−zA−Z]+)(?![0-9\W]+
)
(
?
!
[
a
−
z
A
−
Z
W
]
+
)(?![a-zA-Z\\W]+
)(?![a−zA−ZW]+)[0-9A-Za-z\W]{6,18}
"
,
其
中
(
?
!
[
0
−
9
a
−
z
A
−
Z
]
+
",其中(?![0-9a-zA-Z]+
",其中(?![0−9a−zA−Z]+)表示排除只有字母和数字的组合,(?![0-9\W]+
)
表
示
排
除
只
有
数
字
和
特
殊
字
符
的
组
合
,
(
?
!
[
a
−
z
A
−
Z
W
]
+
)表示排除只有数字和特殊字符的组合,(?![a-zA-Z\\W]+
)表示排除只有数字和特殊字符的组合,(?![a−zA−ZW]+)表示排除只有字母和特殊字符的组合
邮箱验证/2+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+KaTeX parse error: Undefined control sequence: \d at position 21: …证:(/^1[3456789]\̲d̲{9}/.test(phone))
身份证:/3\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}KaTeX parse error: Undefined control sequence: \d at position 8: |^[1-9]\̲d̲{5}[1-9]\d{3}((…/
1.验证用户名和密码:("4\w{5,15}KaTeX parse error: Undefined control sequence: \d at position 60: …; 2.验证电话号码:("^(\̲d̲{3,4}-)\d{7,8}")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
3.验证手机号码(包含虚拟号码和新号码段):"^1([38][0-9]|4[5-9]|5[0-3,5-9]|66|7[0-8]|9[89])[0-9]{8}KaTeX parse error: Undefined control sequence: \d at position 19: …4.验证身份证号(15位):"\̲d̲{14}[[0-9],0-9x…");
6.只能输入由数字和26个英文字母组成的字符串:("5+
"
)
;
7.
整
数
或
者
小
数
:
[
0
−
9
]
+
(
[
.
]
[
0
−
9
]
+
)
0
,
1
"); 7.整数或者小数:^[0-9]+([.][0-9]+){0,1}
");7.整数或者小数:[0−9]+([.][0−9]+)0,1
8.只能输入数字:"6KaTeX parse error: Undefined control sequence: \d at position 18: … 9.只能输入n位的数字:"^\̲d̲{n}"。
10.只能输入至少n位的数字:"^\d{n,}KaTeX parse error: Undefined control sequence: \d at position 21: ….只能输入m~n位的数字:"^\̲d̲{m,n}"。
12.只能输入零和非零开头的数字:"^(0|[1-9][0-9])KaTeX parse error: Can't use function '\.' in math mode at position 30: …数的正实数:"^[0-9]+(\̲.̲[0-9]{2})?"。
14.只能输入有1~3位小数的正实数:"7+(.[0-9]{1,3})?KaTeX parse error: Undefined control sequence: \+ at position 20: …5.只能输入非零的正整数:"^\̲+̲?[1-9][0-9]*"。
16.只能输入非零的负整数:"^-[1-9][0-9]
"
。
17.
只
能
输
入
长
度
为
3
的
字
符
:
"
.
3
"。 17.只能输入长度为3的字符:"^.{3}
"。17.只能输入长度为3的字符:".3"。
18.只能输入由26个英文字母组成的字符串:"8+
"
。
19.
只
能
输
入
由
26
个
大
写
英
文
字
母
组
成
的
字
符
串
:
"
[
A
−
Z
]
+
"。 19.只能输入由26个大写英文字母组成的字符串:"^[A-Z]+
"。19.只能输入由26个大写英文字母组成的字符串:"[A−Z]+"。
20.只能输入由26个小写英文字母组成的字符串:"9+KaTeX parse error: Expected group after '^' at position 13: "。 21.验证是否含有^̲%&',;=?“等字符:”[%&’,;=?KaTeX parse error: Can't use function '\u' in math mode at position 22: …。 22.只能输入汉字:"^[\̲u̲4e00-\u9fa5]{0,…"。
23.验证URL:"^http://([\w-]+.)+[\w-]+(/[\w-./?%&=])?
"
。
24.
验
证
一
年
的
12
个
月
:
"
(
0
?
[
1
−
9
]
∣
1
[
0
−
2
]
)
"。 24.验证一年的12个月:"^(0?[1-9]|1[0-2])
"。24.验证一年的12个月:"(0?[1−9]∣1[0−2])“正确格式为:“01"~"09"和"10"~"12”。
25.验证一个月的31天:”^((0?[1-9])|((1|2)[0-9])|30|31)KaTeX parse error: Undefined control sequence: \- at position 61: …正则表达式:\\d{4}[年|\̲-̲|\.]\d{\1-\12}[…
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
31.匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
32.匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):10[a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
33.匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10 000 开始
34.匹配中国邮政编码:[1-9]\d{5}(?!\d)
评注:中国邮政编码为6位数字
35.匹配ip地址:([1-9]{1,3}.){3}[1-9]。
评注:提取ip地址时有用
36.匹配MAC地址:([A-Fa-f0-9]{2}😃{5}[A-Fa-f0-9]