六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 22|回复: 0

正则表达式中exec,match,test说明

[复制链接]

升级  30%

21

主题

21

主题

21

主题

秀才

Rank: 2

积分
95
 楼主| 发表于 2013-1-29 09:22:49 | 显示全部楼层 |阅读模式
match与execvar dd = "dx234xy@xxxyxcasf.com";var reg = /(\w)+@(\w)+\./; alert(dd.match(reg));   alert(reg.exec(dd));
//match与exec返回的值相同dx234xy@xxxyxcasf.,y,f返回一个长度为3的对象数组(假设数组名称为a)
则a[0] = dx234xy@xxxyxcasf. //匹配到的字符串
  a[1] = y                  //正则表达式第一个子表达式(\w)+返回的最后一个字符
  a[2] = f                  //正则表达式最后一个子表达式返回的最后一个字符,若最后一个字符是特殊字符则返回倒数第二个子表达式的最后一个字符

test 返回true or false
alert(/\w+@\w+\.\w+/.test("xuzhaoabc@126.com")); //true

实例,纯js去掉字符串两端的空格比较复杂,所以我们可以运用正则表达式去掉   var stringTrim = " 123 456 789  ";     alert(stringTrim.match(/\w+.+\w+/)[0]);也可以用jquery比较简单 $.trim("   hello, how are you?   ")的结果是"hello, how are you?"     


使用经验,容易出错
写正则表达式时,不要插入空格
var ex1 = /^((\d{3,4}-?\d{8})|(((13)|(15)|(18))\d{9}))$/var ex2 = /^((\d{3,4}-?\d{8} )|(((13)|(15)|(18))\d{9}))$/var ex3 = /^(( \d{3,4}-?\d{8})|(((13)|(15)|(18))\d{9}))$/都是不通的表达式
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表