加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-14 05:34:55 所属栏目:百科 来源:网络整理
导读:1.在js中创建正则对象 (1)new RegExp()创建正则对象 var reg= new RegExp() (2)字面量创建正则对象 var reg=/正则表达式/ 2.正则对象的test()方法 正则对象.test(字符串) 3.正则表达式 特殊字符 ?d? 代表数字 D? 代表非数字 ?w? 代表数字,字母,下

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,|))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读