元字符
元字符:使用特殊符号代表特殊含义
数字的规则
\d 代表一个数字
修饰符号个数
+ 代表前面这个字符,有最少1个,多个不限
var reg = /\d+/; //定义可以提取多个数字
提取 - 字符串.match()
var str = '作为一名程序员,今年的收入最少不低于500000'; var reg = /\d+/; var arr = str.match(reg) console.log(arr);
正则表达式的方法:exec - 提取的
var str = '作为一名程序员,今年的收入最少不低于500000'; var reg = /\d+/; var arr = reg.exec(str) console.log(arr);
表示字母: [a-z] - 表示任意个小写字母
任意一个大写字母:[A-Z]
任意一个字母:[a-zA-Z]
任意一个数字:[0-9]
var str = '有一个老外,出门不戴口罩,然后还挺嚣张:"shutup"'; var reg = /[a-z]+/; var arr = reg.exec(str) console.log(arr);
var str = '今天偶遇了一个漂亮女白领,她跟我说:"你记一下,我的电话 - 18888888888"'; var reg = /\d+/; var tel = str.match(reg)[0] console.log(tel);
验证: 正则表达式.test(字符串) - 满足规则是true,不满足false
var reg = /1[3456789]\d{9}/;
[3456789] - 中括号中的任意一个字符 简写:[3-9] 表示3~9之间的任意一个数字
{9} 表示前面的字符必须是9个
var reg = /1[3456789]\d{9}/; var bool = reg.test(tel) console.log(bool);
限制必须以某个字符开头,以某个字符结尾
在正则表达式在最前面加:^
在正则表达式的末尾加: $
var str = '13345678910110'; var reg = /^1[3-9]\d{9}$/; var bool = reg.test(str) console.log(bool);
总结:
正则表达式的写法:
var reg = /规则/;
规则的两个斜杠后面:g-贪婪模式 i-忽略大小写
规则中的字符:
可以是普通字符
还可以是元字符:
\d - 代表任意一个数字
[0-9]
[a-zA-Z] 任意一个字母
[a-z] 任意一个小写字母
[A-Z] 任意一个大写字母
[3-9] 任意一个3~9之间的数字
[3456] 3~6之间的任意一个数字
[abc123] 中括号中的任意一个字符
修饰字符:
+ 前面的字符,最少1个
{n} 必须是n个
{n,} 最少n个
{n,m} 最少n个,最多m个
能用正则表达式的方法:
replace
match
exec
test
从字符串中找出满足规则的那一部分,找到了返回下标,找不到返回-1
字符串.search()
var str = 'asdfasdf13212345678'; var reg = /1[3-9]\d{9}/; var index = str.search(reg) console.log(index);

浙公网安备 33010602011771号