split()
- 可以将一个字符串拆分为一个数组
- 方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串
- 这个方法即使不指定全局匹配,也会全都拆分
var str = "1a2b3c4d5e6f7";
var result = str.split(/[A-z]/);
console.log(result); //"1,2,3,4,5,6,7"
search()
- 可以搜索字符串中是否含有指定内容
- 如果搜索到指定内容,则会返回第一次出现的索引下标,如果没有搜索到返回-1
- 它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
- search()只能查找第一个,即使配置全局模式也不起作用
搜索字符串中是否含有abc或aec或afc,如果存在返回第一次出现的索引下标
var str = "hello abc world aec afc";
var result = str.search(/a[bef]c/);
console.log(result); //"6"
match()
- 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
- 默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
- 我们可以设置正则表达式为全局匹配模式(g),这样就会匹配到所有的内容
- 可以为一个正则表达式设置多个匹配模式,且顺序无所谓
- match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果
var str = "1a2b3c4d5e6f7A8B9";
var result = str.match(/[a-z]/ig);
console.log(result); //"a,b,c,d,e,f,A,B"
console.log(typeof result); //"object"
console.log(Array.isArray(result)); //"true"
console.log(result[2]); //"c"
replace( )
- 可以将字符串中指定内容替换为新的内容 参数:
- 1.被替换的内容,可以接受一个正则表达式作为参数
- 2.新的内容
- 默认只会替换第一个
var str = "1a2a3a4d5e6f7A8B9";
var result = str.replace(/[a-z]/gi, "#_&"); //"1#_&2#_&3#_&4#_&5#_&6#_&7#_&8#_&9"
console.log(result);
//也可发挥删除作用
result = str.replace(/[a-z]/gi, ""); //"123456789"
console.log(result);
量词
- 通过量词可以设置一个内容出现的次数
- 量词只对它前边的一个内容起作用
- {n}正好出现n次
- {m,n}出现m-n次
- {m,}出现m次以上
- + 至少一次,相当于{1,}
- * 0次或多次,相当于{0,}
- ? 0次或1次,相当于{0,1}
var reg = /a{3}/;
console.log(reg.test("aaaabca")); //true
reg = /(ab){3}/;
console.log(reg.test("abababsdsab")); //true
reg = /(ab){1,3}/;
console.log(reg.test("ababsdsab")); //true
reg = /ab{1,}c/;
console.log(reg.test("abbbbbc")); //true
reg = /ab+c/;
console.log(reg.test("abbbbbc")); //true
reg = /ab*c/;
console.log(reg.test("ac")); //true
reg = /ab?c/;
console.log(reg.test("ac")); //true
- ^ 表示开头
- $ 表示结尾
var reg = /^a/;
console.log(reg.test("ac")); //true
reg = /a$/;
console.log(reg.test("ca")); //true
只能有一个a
reg = /^a$/;
console.log(reg.test("a")); //true
以a开头或以a结尾
reg = /^a|a$/;
console.log(reg.test("ca")); //true
- . 查找任意单个字符,除了换行和行结束符
- 特殊符号显示时,需要加转义字符\
var reg = /\./;
console.log(reg.test("a.")); //true
reg = /\\/;
console.log("a\\"); //"a\"
console.log(reg.test("a\\")); //true
- \w 任意字母 数字 _
- \W 除了字母 数字 _
var reg = /\w/;
console.log(reg.test("_")); //true
reg = /\W/;
console.log(reg.test("%")); //true
- \d 任意数字
- \D 除了任意数字
var reg = /\d/;
console.log(reg.test("123")); //true
reg = /\D/;
console.log(reg.test("%dr")); //true
- \s 空格
- \S 除了空格
var reg = /\s/;
console.log(reg.test("1 23")); //true
reg = /\S/;
console.log(reg.test("%dr")); //true
- \b 单词边界
- \D 除了单词边界
var reg = /\bchild\b/; //找单词child
console.log(reg.test("hello children")); //"false"
console.log(reg.test("hello child")); //true
reg = /\Dchild\D/;
console.log(reg.test("hellochildren")); //true