创建方法
1.构造方法
var reg1 = RegExp('b','g');
2.字面量
var reg2 = /abc/;
/^abc$/ 以abc开头,以abc结尾
/\babc\b/ \b有单词边界,\B无单词边界
/[1-5][1-5]/ 一个[1-5]匹配一个
/./ 匹配任意单个字符
\d 匹配任意阿拉伯数字。等价于[0-9]
\D 匹配任意一个不是阿拉伯数字的字符。等价于[^0-9]。
\w 匹配任意来自基本拉丁字母表中的字母数字字符,还包括下划线。等价于 [A-Za-z0-9_]。
\W 匹配任意不是基本拉丁字母表中单词(字母数字下划线)字符的字符。等价于 [^A-Za-z0-9_]。
\s 匹配一个空白符,包括空格、制表符、换页符、换行符和其他 Unicode 空格。
\S 匹配一个非空白符。
| 或者的意思
var reg = /\w{3,30}/;
var reg = /(\|)/;// \转义符
var str = 'abc gh abc';
测试是否含有匹配结果(test)
reg2.test(str);//true
reg2.test(str);//true
reg2.test(str);//false
reg2.exec(str);//['abc',index:0,input:'abc gh abc',groups:undefined]
reg2.exec(str);//['abc',index:,in7put:'abc gh abc',groups:undefined]
修饰符:
reg2.glabol;//是否含有g
//输出含有匹配结果的数组['abc','abc']
var arr = [];
var res = true;//代表还有结果
while(res != null){
res = reg2.exec(str1);
if(res != null)
arr.push(res[0]);
}
console.log(arr);
方法
search();不支持全局,返回匹配到字符的索引,找不到返回-1
match();返回匹配到元素的数组
replace();替换一个
split() 方法用于把一个字符串分割成字符串数组。不改变原始字符串
console.log(str.search(reg2));//不支持全局,返回匹配到字符的索引,找不到返回-1
console.log(str.match(reg2));//返回匹配到元素的数组
console.log(str1.replace('xiaoming','zhangsan'));//替换一个
console.log(str2.replace(/\d{11}/g,'13579876543'));//全局模式
console.log(str3.split(/(,)|(\|)|(-)|(\/)/));
var str="How are you doing today?";//把字符串中的元素放入数组中
var n=str.split(" "); //How,are,you,doing,today?
//join把数组中的元素放入字符串中
var arr = ['hello','world','apple'];
var a = arr.join(',');//'hello,world,apple'
var a = arr.join('');//'helloworldapple'
//驼峰式转换
function cssStyle2DomStyle(sName) {
if(sName[0] == '-'){
var sName1 = sName.slice(1);
return sName1.replace(/-\w{1}/g,function(x){
return x.slice(1).toUpperCase();
})
}else{
return sName.replace(/-\w{1}/g,function(x){
return x.slice(1).toUpperCase()
})
}
}
2271

被折叠的 条评论
为什么被折叠?



