最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
js正则表达式容易被忽略的小问题整理
时间:2013-07-12 编辑:简简单单 来源:一聚教程网
一、中括号[]里面的特殊字符是不用转义的,例如[/]、[.]、[*]、[?]、[+]都是可以直接匹配对应的字符 . *?+。下面是测试结果:
所以,/[d.]/这个正则表达式实际上是匹配数字字符或者字符".",作用等同于/[d.]/
二、match()和exec()的区别
二者的区别主要在于正则表达式在设置了全局标识符g的情况。
如果没有设置全局标识符g,那么调用string.match(regexp)的结果和调用regexp.exec(string)的结果是相同的,
但在设置了全局标识符g时,string.match(regexp)会把所有的匹配都放入结果数组中,regexp.exec(string)的结果则只给出第一个成功的匹配。
而用regexp.lastIndex属性来记录下一次匹配开始的位置。测试如下:
PS:另外要注意的是lastIndex只对exec()和test()方法起作用,string.match(regexp)是不会影响regexp这个正则的lastIndex属性的。
是我从网上收藏了,不过都是精品,专业针对手机号与电话号码进行验证的。
代码如下 | 复制代码 |
function checkPhone(phone) { //验证电话号码手机号码,包含153,159号段 if (phone==""){ alert("电话号码不能为空!"); return false; } if (phone != ""){ var p1 = /^(([0+]d{2,3}-)?(0d{2,3})-)?(d{7,8})(-(d{3,}))?$/; var me = false; if (p1.test(phone)) me=true; if (!me){ //alert('对不起,www.111com.net您输入的电话号码有错误。区号和电话号码之间请用-分割'); return false; } } return true; } |
手机号码验证
代码如下 | 复制代码 |
String.prototype.isTel = function() String.prototype.isMobile = function() { |
电话号验证
代码如下 | 复制代码 |
function CheckNum(){//电话验证 var InputValue=document.gsjbxxBean.dh.value; var reg=/^([0-9]|[-])+$/g ; var isValid isValid=reg.exec(InputValue) if (!isValid) { return false } return true } |
检查电话号码
代码如下 | 复制代码 |
function isTel(str){ |
相关文章
- js 正则表达式语法 10-15
- 正则表达式去掉标签的所有属性js代码 09-01
- js 正则表达式 09-22
- 开发中js正则表达式使用总结 08-18
- jsp 正则表达式教程 05-18
- js中常用的正则表达式收集 05-04