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" })
浙公网安备 33010602011771号