Tag标签 | 收藏本站 | 设为首页 | 参考书籍 | web前端技术交流①群:WEB前端技术交流群 会员登录 | 会员注册

首页文字描述

会员投稿 RSS订阅 专注web前端: 要么读书、要么旅行,身体和精神必须要有一个在路上。【每天一小步,成功一大步】
搜索: 您的位置主页 > WEB前端 > Jquery/JS > JS正则表达式的 6大常用方法
隐藏/显示侧边栏

JS正则表达式的 6大常用方法

2014-06-11 23:23    来源:未知    责任编辑:admin    字号【
javascript所支持的正则表达式常用的六种方法:test(),exec(),match(),search(),replace()和split(). 其中前两者属于RegExp类的方法后,其余属于string类的方法.

test()方法:如果给定的字符串匹配该正则的模式,返回true,否则返回false.

<script tpye="text/javascript">
var s="cat";
var re=/cat/;
alert(re.test(s));     //outputs"true"
</script>

exec()方法:带一个字符串参数,返回一个数组.数组中的第一个条目是第一个匹配,其他都是反向引用.

<script tpye="text/javascript">
var s="a cat,a Cat,a fAt cat,a faT cat";
var re=/at/gi;
var arr=re.exec(s);
alert(arr);         //outputs("at")  这里的at是字符串中第一个cat中的at
</script>

match()方法:返回一个包含在字符串中的所有的匹配的数组.

<script tpye="text/javascript">
var s="a cat,a Cat,a fAt cat,a faT cat";
var re=/at/gi;
var arr=s.match(re);
alert(arr);         //outputs("at,at,At,at,aT,at")
alert(arr.length);  //outputs"6"
</script>

search()方法:返回在字符串中出现的一个匹配的位置. 与indexOf()方法类似,但它接受RegExp对象作为参数而非仅仅是一个子字符串.

<script tpye="text/javascript">
var s="a cat,a Cat,a fAt cat,a faT cat";
var re=/at/gi;
var arr=s.search(re);
alert(arr);         //outputs("3")
</script>

replace()方法:

<script tpye="text/javascript">
var iCount=0;
var sTochange ="The sky is red, Ed";
var reEd=/r?ed/gi;
var sResult=sTochange.replace(reEd,function(sMatch){        //sMatch表示已经匹配了的文本
            ++iInt;
            alert(iCount);
            return "blue";
            });
alert(sResult);//outputs "1"
                      //outputs "2"
                      //outputs "The sky is blue, blue"
</script>

split()方法:将字符串分割成一系列子串并通过一个数组返回.

<script tpye="text/javascript">
var s="a cat,a Cat,a fAt cat,a faT cat";
var re=/\,/gi;
var arr=s.split(re); 
for(i=0;i<arr.length;i++){alert(arr[i]);}      
</script>

反向引用

<script tpye="text/javascript">
var s="1234 3211";
var re=/(\d{4})\s(\d{4})/;
var arr=re.test(s);
alert(RegExp.$1);  //outputs"1234"
alert(RegExp.$2);  //outputs"3211"
var sNew=s.replace(re,"$2 $1");
alert(sNew);           //outputs"3211 1234"
</script>
</script>

更多
Tags 标签:
责任编辑:admin
设为首页 | 加入收藏 | 关于我们| 版权声明 | 在线留言 | 网站地图 |