规则:格式//
/* // 量词:量词只对它前面的一个内容起作用
{n}//表示正好出现N次,
{m,n},//出现m到n次
+ //至少出现一次,相当于{1,}
* //0或者多个,相当于{0,}
?//0或者1个,相当于{0,1}
/^a/ //表示以a开头
[^a] //表示除了a
/a$/ //表示匹配结尾的a
/^a$/表示只能为a;如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式
/^a|a$/ //以a开头或者以a结尾
*/
// var reg=/a{3}/ //表示a正好出现3次
// reg=/ab{3}c/ //表示b正好出现3次
// reg=/ab{3}c/ //表示b正好出现3次
// reg=/ab?c/ //表示b出现0次或者1次
// console.log(reg.test("abc"))//true
应用场景1:输出一个合法的手机号码
/*
输入一个合法手机号
1:手机号必须为11位:1 3 999999999
2:首位必须为1:^1
3:第二位不能为1,2;[3-9]
4:后面9位已0-9位结尾;[0-9]{9}$
*/
var phone="13683970011"
var phoneReg=/^1[3-9][0-9]{9}$/
console.log(phoneReg.test(phone))//true
字符
/*
1:.表示任意字符
2:\. 把点转义后就表示.
3:在构造函数中,由于是字符串的原因\\表示\,\\\\表示\ 4:\w 表示任意字母和数字[A-z0-9_]
5:\W 表示除了字母数字[^A-z0-9_]
6:\d 任意数字[0-9]
7:\D 除了数字[^0-9]
8:\s 任意空格
9:\S 除了空格
10:\b单词边界
8演示:去除开头和结尾的空格
var str=" hello nihao "
//去除开头空格
str=str.replace(/^\s*/,"");//hello nihao
//去除后面空格
str=str.replace(/\s*$/,"");// hello nihao
//去除前后
str=str.replace(/^\s*|\s$/g,"");//hello nihao;/g是全局的意思
console.log(str)
10演示:查找某个单词(不包含所含单词的另一个单词)
var reg=/\bchild\b/; //查找有没有child单词,children这个单词边界就不对了
console.log(reg.test("child"))//true
console.log(reg.test("hello children"))//false
*/
原文:https://www.cnblogs.com/Fancy1486450630/p/14525633.html