js 中的正则

1: String.prototype.search方法

其功能是用来找出某个子字符串在原字符串中首次出现的位置(index),如果没有该字符串就返回-1

$(function () {
        var ret = '[["10.0.1.101/24","10.0.2.101/24"],["10.10.10.1/24"]]'
        var index = ret.search(/\d+\.\d+\.\d+\.\d+\/\d+/)
        console.log(index)//3 

    })

2: String.prototype.replace方法

 是用来替换字符串中的子串 即指定字符串替换原字符串的指定字符串

$(function () {
        var ret = '[["10.0.1.101/24","10.0.2.101/24"],["10.10.10.1/24"]]'
        var str = ret.replace(/\d+\.\d+\.\d+\.\d+\/\d+/,'')
        console.log(str)//[["","10.0.2.101/24"],["10.10.10.1/24"]]

    })

3: String.prototype.split方法

是分割字符串用的 会将指定的字符串改为, 来分割原来的字符串

   $(function () {
        var ret = '[["10.0.1.101/24","10.0.2.101/24"],["10.10.10.1/24"]]'
        var str = ret.split(/\d+\.\d+\.\d+\.\d+\/\d+/)
        console.log(str,typeof(str))//["[["", "","", ""],["", ""]]"] "object"

    })

4: String.prototype.match 方法

用来捕获字符串中的子字符串到一个数组中(默认情况下只捕获一个结果到数组中,正则后面加g会匹配全部放到数组中)

 
 $(function () {
        var ret = '[["10.0.1.101/24","10.0.2.101/24"],["10.10.10.1/24"]]'
        var arr = ret.match(/\d+\.\d+\.\d+\.\d+\/\d+/)
        console.log(arr,typeof(arr))//["10.0.1.101/24"]
        var arrs = ret.match(/\d+\.\d+\.\d+\.\d+\/\d+/g)
        console.log(arrs,typeof(arrs)) //["10.0.1.101/24", "10.0.2.101/24", "10.10.10.1/24"]

    })

5: RegExp.prototype.test方法 

 用来测试字符串中是否含有子字符串 也是验证字段时经常使用的 运行结果为true或false

$(function () {
        var ret = '[["10.0.1.101/24","10.0.2.101/24"],["10.10.10.1/24"]]'
        var arr = (/\d+\.\d+\.\d+\.\d+\/\d+/).test(ret)
        console.log(arr,typeof(arr))//true "boolean"
    })

6: RegExp.prototype.exec方法

这个方法和字符串的match方法类似,这个方法也是从字符串中捕获满足条件的字符串到数组中 但是 exec方法一次只能捕获一份子字符串到数组中,无论正则表达式是否有全局属性 并且exec方法有一个lastIndex属性  运行结果 如果不存在返回null

 $(function () {
        var ret = '[["10.0.1.101/24","10.0.2.101/24"],["10.10.10.1/24"]]'
        var arr = (/\d+\.\d+\.\d+\.\d+\/\d+/).exec(ret)
        console.log(arr,typeof(arr))//["10.0.1.101/24"]"object"
    })

 

posted on 2020-12-04 09:47  paike123  阅读(168)  评论(0)    收藏  举报

导航