元字符

元字符:使用特殊符号代表特殊含义

数字的规则

 \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);

 

 

posted @ 2021-01-13 19:53  技术活当赏  阅读(388)  评论(0)    收藏  举报