js

原文链接:chenyuzou.blog.163.com/blog/static/10152006820098169573099/

JS正则表达式-常用方法  

2009-09-16 21:57:30|  分类: JS |举报 |字号 订阅

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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值