js正则表达式--String的几个正则表达式方法

来源:互联网 发布:淘宝信用卡套现方法 编辑:程序博客网 时间:2024/05/24 15:36

一、String的几个正则表达式方法

1.  str.mach(regExp);返回一个匹配结果数组,第一项是整个匹配,第二项是第一个子表达式匹配,以此类推。如果传入的参数是一个字符串,js或默认把它转成RegExp的对象,再做处理。

例子:获取url的协议、主机、路径的方法

var str="this url is http://www.shelleyli.com/default";

var reg=/(\w+):\/\/([\w.]+)\/(\s*)/;

var result=str.match(reg);

console.log(result[0]);     // http://www.shelleyli.com/default  
console.log(result[1]);     //http
console.log(result[2);    //www.shelley.com
console.log(result[3]);    //default

2. str.replace(reg,strnew); 返回一个替换后的结果,第一个参数如果是字符串就是字符串,js不会转化它。第二参数是要替换成的新字符串或者一个函数(生成要替换成的新字符串)。

例子:可以用引用

var name=“shelley,Li”;

var reg=/(\w+)\s*,\s*(\w+)/;

var result=name.replace(reg,"$2 $1"); // Li shelley

3. str.search(reg); 返回值是第一个匹配的开始位置,如果没有匹配返回-1,类似indexO,如果传入的参数是字符串会将其传入RegExp的构造函数将其转为RegExp对象。

例子:

var  str="Javascript  is fun. ";

str.search(/script/i);  //4

str.search(/a(.)a/);  // 1

4. str.split(reg,limit);返回值是一个通过reg切分的数组,reg可以是字符串或者正则,limit是最大长度,可有可无(无默认切分整个字符串,有就是这个数字的子串返回)。

例子:

var str="&name=john&age=12";

var reg="&";

var result=str.split(reg);  //["","name=john","age=12"];

console.log(result[0]);
console.log(result[0]);
0 0
原创粉丝点击