正则表达式
1.在js中创建正则对象 (1)new RegExp()创建正则对象 var reg=new RegExp() (2)字面量创建正则对象 var reg=/正则表达式/
2.正则对象的test()方法 正则对象.test(字符串) 3.正则表达式 特殊字符 ?d? 代表数字 D? 代表非数字 ?w? 代表数字,字母,下划线 W? 代表非数字,非字母,非下划线 s? 代表空白字符 S? 代表非空白字符 .? ? ?代表除了换行符以外的任意字符 ^? 代表以谁开头 $? 代表以谁结尾 ? 限制符: {n}? 代表前面的字符可以出现n个 {n,}? 代表前面的字符可以出现n个到多个 {n,m}? 代表前面的字符可以出现n个到m个 *? 代表前面的字符可以出现0个或者多个 +? 代表前面的字符可以出现1个或者多个 ? 代表前面的字符可以出现0个或者1个 其他字符: [ ] 代表只能有一个字符,必须是中括号中的一个字符 [ ^] 代表只能有一个字符,不能有中括号中的字符 ? 转义符? 普通字符转特殊? 特殊字符转普通 |? 会把正则分成两部分 ()代表分组 [u4e00-u9fa5]? 匹配汉子 [0-9] 从0-9的数字 [0-9a-z] 从0-9? 从a-z (1) d? 代表数字 var str=‘123‘ var reg=/d/ //只要有数字,就返回true; console.log(reg.test(str)) (2) D? 代表非数字 var str=‘a‘ var reg=/D/ //只要有非数字,就返回true; console.log(reg.test(str))
(3) w? 代表数字,字母,下划线 var reg=/D/ //只要有数字,或字母,或下划线,就返回true; (4)W? 代表非数字,非字母,非下划线 var reg=/D/ //只要有数字,字母,下划线,就返回true; (5)s? 代表空白字符 var reg=/s/ //只要有空白字符,就返回true; (6)S? 代表非空白字符 var reg=/s/ //只要有非空白字符,就返回true; (7) .? ? ?代表除了换行符以外的任意字符 var reg=/./ //只要有非换行符,就返回true; (8)^? 代表以谁开头 var str=‘a‘ var reg=/^a/ //只要以a开头,就返回true; console.log(reg.test(str))
(9)$? 代表以谁结尾 var str=‘wwa‘ var reg=/a$/ //只要以a结尾,就返回true; console.log(reg.test(str))
(10) ^abc$? 字符串中只能有abc var str=‘abc‘ var reg=/^abc$/ //只能有abc,就返回true; console.log(reg.test(str))
(11)^d$? 字符串中只能有一个数字 var str=‘3‘ var reg=/^d$/ //只能有1个数字,就返回true; console.log(reg.test(str))
(12)^d{n}$? 字符串中只能有n个数字 var str=‘13922225555‘ var reg=/^d{11}$/ //只能有11个数字,就返回true; console.log(reg.test(str))
(13)^d{n,}$? 字符串中只能有n个及以上数字 var str=‘13922225555‘ var reg=/^d{11,}$/ //只能有11个及以上数字,就返回true; console.log(reg.test(str))
(14)d{n,}? 只要包括n个及以上的数字 var str=‘13993366666544gf‘ var reg=/d{11,}/ console.log(reg.test(str)) (15)^d{n,m}$? 字符串中只能有n到m个数字 var str=‘1234‘ var reg=/d{3,4}/ console.log(reg.test(str)) (16)^d*$? 字符串中只能有0到多个数字 var str=‘‘ var reg=/^d*$/ //要么什么都没有,要么只能是数字 console.log(reg.test(str)) (17)^d+$? 字符串中至少有一个数字 (18)^d?$? 要么什么都没有,要么只要一个数字 (19)[ ] 代表只能有一个字符,必须是中括号中的一个字符 var str=‘d‘ var reg=/^[sded]$/ console.log(reg.test(str)) (20)[ ^] 代表只能有一个字符,不能有中括号中的字符 var str=‘c‘ var reg=/^[^sded]$/ console.log(reg.test(str)) (21)? 转义符 var str=‘.‘ var reg=/^.$/ console.log(reg.test(str)) ?(22)| 代表把正则分为两部分 var str=‘ased‘ var reg=/^a|d$/ //代表以a开头,以d结尾 console.log(reg.test(str)) (23)? ()代表分组 var str=‘gray‘ var reg=/^gr(a|e)y$/ //代表gray或者grey console.log(reg.test(str)) (24)[0-9]? [a-z]? ?[0-9a-z]? [a-zA-Z] var str=‘5‘ var reg=/^[0-9]$/ //代表0-9 console.log(reg.test(str)) ?4.案例 (1)验证手机号码 var reg=/^d{11}$/ (2)验证邮编 var reg=/^d{6}$/ (3)验证邮箱 var reg=/^[email?protected]w+.w+$/
?5.正则的参数 g :全局 6.正则的提取 字符串.match(正则规则) var str=‘张三:154,李四:545,王五;566‘ var reg=/d+/g console.log(str.match(reg)) ?7.替换 字符串.replace(正则/被替换的字符,替换的字符) var str=‘fgh,jkl,jl,jkljl,jhj,ghjhjk,hgjhhj‘ var reg=/,|,/g console.log(str.replace(reg,‘|‘)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |