去除字符串两边的空格
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]/
. 表示匹配任意字符
网友评论