正则表达式

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=/^\w+@\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,'|'))

 

转载于:https://www.cnblogs.com/zhaodz/p/11598767.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值