电话号码验证

  • 电话号码有数字和"-"构成

  • 电话号码为7-8位

  • 如果电话号码中包含区号,那么区号为三位或四位,首位是0

  • 区号用"-"和其他部分隔开

  • 移动电话号码为11位

  • 11位移动电话号码的第一位和第二位为"13","15","18"

(0\d{2,3}-\d{7,9})l(1[35789]\d{9}) (这里以及下面或用l(L)表示)

电子邮件地址验证

  • 用户名:由字母,数字,中划线,下划线组成

  • @

  • 网址:由字母,数字组成

  • 小数点.

  • 组织域名:由2-4位字母组成

  • 不区分大小写

[\w\-]+@[a-z0-9A-z]+(\.[A-Za-z]{2,4}){1,3}

常用正则表达式

匹配中文字符 [\u4e00-\u9fa5]
匹配空白行 \n\s*\r
匹配HTML标记 <(\S*?)[^>]*>.*?l<.*?/>
匹配首位空白字符 ^\s*|\s*$
匹配Email地址 \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL [a-zA-Z]+://[^\s]*
匹配国内电话号 \d{3}-\d{8}l\d{4}-\d{7}
匹配腾讯QQ号 [1-9][0-9]{4,}
匹配中国邮政编码 [1-9]\d{5}(?!\d)
匹配身份证 \d{15}l\d{18}
匹配ip地址 \d+\.\d+\.\d+\.\d+

其他妙用

  • 开发环境和文本编辑器中使用正则

    • Eclipse

    • Notepad++

    • Editplus

    • UltraEdit

  • 数据库中也可以使用正则

    • Mysql5.5以上

    • Oracle10g以上

    • 例如:SELECT prod_name FROME products WHERE prod_name REGEXP '.000' (.匹配任意字符)