正则

2019-01-02  本文已影响0人  海子小夜曲

去除字符串两边的空格

var str= '  a    a   ';

console.log(str.replace(/^\s+|\s+$/g) , '')

去除掉字符串所有空格

console.log(str.replace(/\s/,'')

match 时字符串调用,传入正则表达式

var str= 'aaaa123hhhh'

console.log(str.match(/\d{3}/))

获取邮箱

var str= 'eeee.@qq.com哈哈哈哈哈哈哈rrrr@126.com'

console.log(str.match(/\w+@\w+\.\w+/g))

exec是正则表达式 传入字符串

var reg = /\w+@\w+\.\w+/g

var result 

while((result=reg.exec(str))!=null){

console.log(result)

}

| 或者

var reg = /abc|bcd/;

console.log(reg.test('abc'))   //true

console.log(reg.test('abcd'))   //true

console.log(reg.test('bcd'))   //true

console.log(reg.test('bcwd'))   //false

有一个就行

var reg = /a|b|c|d/; 等同于var reg = /[abcd]/; 有一个字符就行

正则边界

^在中括号外使用,写在正则前面时,表示匹配开头

一个正则中只能使用一次^

$卸载正则最后,表示以XXXj结束

使用量词表示数量

var reg = /a{10}/ 10表示出现的次数

var reg = /^3{3}$/ 以333 验证333

匹配2-5次

var reg = /^a{2,5}/

匹配至少n个,加一个逗号

var reg = /^a{3,}$/

匹配0到多个当字符串中某一部分可选时,使用*

var reg = /^a*$/;

console.log(reg.text('')) true

console.log(reg.text('aaaaa')) true

console.log(reg.test('ba')) false

var reg = /a*/

console.log(reg.test('b'))

+ 匹配1到多个

var reg = /^a+$/

只有最少一个a且全是a才是true

?匹配0个或1个

var reg = /^a?$/;   有且只有0个或1个 才是true

console.log(reg.test('aab')) false

console.log(reg.test('aa')) fasle 

匹配模式

g 全局匹配  i 忽略大小写 /q/gi

var reg = /abc/g

var reg = new RegExp('abc','g')

正则分类

简单类

var reg = /abc/

字符类

var reg = /[abc]/   含有abc中的一个就行  等效于 /a|b|c/

console.log(reg.test('nnnn'))  false 

console.log(reg.test('nnnna'))  true

反向类

在字符类【】内部写一个^,表示反向 字符串中含有除了abc外任意一个即可返回true

var reg = /^abc/

console.log(reg.test('abc'))  false

console.log(reg.test('abdc'))  true

范围类

var reg = /[a-t]/ 可以匹配a到t中的任意一个字符

reg.test('xyz') false

reg.test('xyzqa') true

匹配所有小写字母

var reg = /[a-z]/

大写字母

var reg = /[A-Z]/

想要匹配所有数字

var reg = /[0-9]/

组合类

var reg = /[0-9 a-z]/

var reg = /[0-9 a-z A-Z]/

. 表示匹配任意字符

上一篇下一篇

猜你喜欢

热点阅读