js正则函数

天大地大妈咪最大 提交于 2020-03-03 07:51:33

js的正则函数主要有有replace,match,test,search,exec。

首先对文中的变量进行说明:
  rgExp为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。

  /i (忽略大小写)
  /g (全文查找出现的所有匹配字符)

(1)match 方法 
  使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回,如果未能匹配到,则返回null。 
  stringObj.match(rgExp) 

例:

  var str = "ThIS isn't me";   

  var reg = /is/ig;  

  var ret = str.match(reg);    

  console.log(ret);   //["IS", "is"] 

(2)replace 方法

  返回根据正则表达式进行文字替换后的字符串的复制,原字符串不变。 
  
stringObj.replace(rgExp, replacement);

例:

      var str = "i love china!";  

  var pattern = /i/g;  

  var ret = str.replace(pattern, "I");  

      alert(ret); //I love chIna! 

  ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。

(3)test 方法 
  返回一个 Boolean 值,它指出在被查找的字符串中是否匹配给出的正则表达式,如果是则返回 true,否则就返回 false。

例:

  var str = "bbs.byr.cn";  

  var reg = /b/;  

  var ret = reg.test(str);  

      alert(ret); //true 

(4)search 方法 
  返回与正则表达式查找内容匹配的 第一个子字符串 (与是否全局查找不管) 的索引数,否则返回-1 。 
  stringObj.search(rgExp) ;

例:

      var str = "This isn't me";  

  var reg = /is/;     //   /is/g  (结果一样);  

  var ret = str.search(reg);  

      alert(ret);  //2  

(5)exec 方法 

  用正则表达式模式在字符串中查找,并返回该查找结果的第一个值(数组),如果匹配失败,返回null。如果想得到全部查询结果,可以使用while循环。

  返回数组包含: 

  input:整个被查找的字符串的值; 
  index:匹配结果所在的位置(位); 
  lastInput:下一次匹配结果的位置; 
  arr:结果值,arr[0]全匹配结果,arr[1,2...]为表达式内()的子匹配,由左至右为1,2...。 

例:

  var str = "i love china!";   

  var reg = /i\B/g;   i后不是空格

  var ret = reg.exec(str);   

      alert(ret); // i  

      console.log(ret); //["i", index: 9, input: "i love china!"]   

(6)split 方法 
  将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 
  stringObj.split([separator[, limit]]) 

  其中separator表示分割方式,limit表示分割后的返回个数。

例:

  var s, ss; 
  var s = "The rain in Spain falls mainly in the plain."; 
  ss = s.split(/s/i);   // ['The rain in' , 'pain fall' , 'mainly in the plain.']

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!