正则表达式 【九】

RegExp对象方法

​ RegExp对象的常用方法除了test() 之外还有exec()方法,RegExp对象的方法。

方法描述
test()语法为test(str)
该方法检查一个字符串是否存在创建RegExp对象实例时所指定的表达式模式,如果存在就返回True,否则返回False 。如果找到匹配项,则会更行RegExp对象中的有关静态属性,以反应匹配情况。
exec()语法格式为exec(str)
该方法使用创建RegExp实例时所指定的表达式模式对一个字符串进行搜索,并返回一个包含搜索结果的数组。

注意:

​ 如果为正则表达式设置了全局标志(g),可以通过多次调用exec()和test() 方法在字符串进行连续搜索,每次都是从RegExp对象lastIndex静态属性值指定的位置开始搜索字符串。如果没有设置全局标志(g),则exec()和test() 方式忽略RegExp对象的lastIndex 属性值,从字符串的起始位置开始搜索。

说明:

​ 如果exec()方法没有找到匹配,返回值null;如果找到匹配,则返回一个数组,并更新RegExp对象中有关静态属性以反映匹配情况。返回数组中的元素0包含了完成的匹配结果,而元素1-n依次时表达式模式中定义的各个子匹配的结果。exec()方法返回的数组有3个属性,分别是 input ,index 和lastIndex。

案例1:使用正则表达式来检验一个密码字符串是否符合要求:

以字母开头,只能包含字母,数字和下划线 6-18个字符

<script>
     var txtpassword="my oeac";
     var re=new RegExp("^[A-Za-a]\\w{5,17}$");
     var result=re.test(txtpassword);
     if(result){
         alert(ok);
     }
    else{
         alert(no)
     }
</script>

案例2:演示使用了正则表达式从超链接标签中提取href属性的值

<script>
     var code = '<a href="http://www.baidu.com"></a>';
     var re= /href=\"(.*?)\"/;
     var result=re.exec(code);
     document.write("方法返回的数组:"+result +"<br />");
     document.write("匹配的结果为:"+result[0] +"<br />");
     document.write("圆括号内子匹配的结果:"+result[1]);
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值