正则表达式

创建方法

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()
        })
    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值