加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

JavaScript RegExp 基础详谈

发布时间:2016-10-31 19:53:30 所属栏目:教程 来源:站长网
导读:副标题#e# 前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果我们不去真正仔细研究、学习、掌握,而是抱着需要的时候,就去网上找现成的正则表达

    示例:

1 var str = 'hellow word!';
2 str.spilit(''); // --> ''空字符(并非空格字符)["h", "e", "l", "l", "o", "w", " ", "w", "o", "r", "l", "d", "!"]
3 str.split('',5) // --> ["h", "e", "l", "l", "o"]
4 str.split(/o/g) // --> ["hell", "w w", "rld!"]

  4.4 search();

    格式:str.search(pattern)
    功能:根绝匹配规则pattern在字符串中检索指定的结果,如果检索到则返回该结果首字母在原字符中的索引,否则返回-1。其功能类似于indexOf,
         只是indexOf并不支持正则匹配。
    示例:

1 var str = 'hellow world!';
2 str.search('o') // --> 4
3 str.search('x') // --> -1

    注意:该方法忽略全局修饰符g,也不支持lastIndex也就是意味着它不能被多次调用,一旦检索到结果,便会停止检索。

 

  1. 匹配任意字符
    正则: /[^]/ 

  2. 匹配ASCII码范围
    规则:x00表示十进制0 ,xff表示十进制255,0-255正好是ASCII码表可表示的范围。
    正则: /[x00-xff]/g 
    说明:同理, /[^x00-xff]/g  则表示匹配汉字或者是全角字符。

  3. 匹配汉字
    规则:u4e00 : 在Unicode码中汉字的开始编码,u9fa5 : 在Unicode码中汉字的结束编码。
    正则: /^[u4e00-u9fa5]+$/ 

  4. 手机号码检测
    规则:[3|4|5|7|8] : 手机号11位,但是第二位数字只有这几种固定的网段。
    正则: /^1[3|4|5|7|8]d{9}$/ 

  5. 邮政编码
    规则:邮政编码必须为数字,长度为6位且第一位不能为0,示例:224000
    正则: /[1-9]d{5}/ 

  6. 电子邮件
    规则:以@为上下文表示,左侧只能是数字,字母及下划线组成。
        而右侧又以.符号为上下文,左侧与上述一样,而右侧只能为字母结尾。
    正则: /^([w-.]+)@([w-]+).([a-zA-Z]{2,4})$/ 

  7. 匹配前后空格
    正则: /^s+|s+$/g 

  8. QQ号匹配
    规则:首位不能为0,位数5-12位。
    正则: /^[1-9]d{4,11}$/; 

  9. 匹配网址url的正则表达式
    正则: [a-zA-z]+://[^s]* 

  10. 匹配国内电话号码
    正则: d{3}-d{8}|d{4}-d{7} 

  11. 匹配国内身份证号码
    规则:简单的身份证匹配,根据位数以及结尾是否有字母。
    正则: /^d{15}(d{2}[A-Za-z0-9])?$/ 

  12. 匹配IP地址
    正则: /^(d+).(d+).(d+).(d+)$/g 

  13. 验证是否含有^%&',;=?$"等字符
    正则: /[^%&',;=?$x22]+/ 

  14. 匹配空行的正则表达式
    正则: n[s| ]*r 

  15. 数学正则
    整数 :  /^[-+]?d+$/ 
    浮点数 :  /^[-+]?d+(.d+)?$/ 
    Chinese :  /^[u0391-uFFE5]+$/ 
    实数: ^[-+]?d+(.d+)?$ 

 

PS:感谢这些作者们!

http://javascript.ruanyifeng.com/stdlib/regexp.html#toc13 (讲解很到位的正则教程)
http://www.cnblogs.com/52cik/p/js-regular-control-character.html (关于控制字符的代码测试实例)
http://baike.baidu.com/view/1112575.htm?fr=aladdin (关于控制字符的说明)
http://www.cnblogs.com/hustskyking/archive/2013/06/04/RegExp.html(正则表达式30分钟入门教程 PS:内容很丰富,适合全面了解正则的教程,但是里面讲到的很多功能并不能被浏览器实现)
http://www.cnblogs.com/dwlsxj/p/Reg.html (对零宽度讲解很好的文章)
http://www.cnblogs.com/moqing/p/5665126.html

 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读