正则表达式

一:用处

  表单验证

二:常用匹配

  1.匹配非负整数(正整数 + 0): ^\d+$   
  2.匹配正整数 : ^[0-9]*[1-9][0-9]*$

  3.匹配非正整数(负整数 + 0): ^((-\d+)|(0+))$   
  4.匹配负整数:^-[0-9]*[1-9][0-9]*$  

  5.匹配整数: ^-?\d+$     
  6.匹配非负浮点数(正浮点数 + 0): ^\d+(\.\d+)?$  

  7.匹配正浮点数: ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$   
  8.匹配非正浮点数(负浮点数 + 0): ^((-\d+(\.\d+)?)|(0+(\.0+)?))$  \

  9.匹配负浮点数: ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$   
  10.匹配浮点数 : ^(-?\d+)(\.\d+)?$  

  11.匹配由26个英文字母组成的字符串^[A-Za-z]+$   
  12.匹配由26个英文字母的大写组成的字符串 : ^[A-Z]+$  

  13.匹配由26个英文字母的小写组成的字符串: ^[a-z]+$   
  14.匹配由数字和26个英文字母组成的字符串: ^[A-Za-z0-9]+$  

  15.匹配由数字、26个英文字母或者下划线组成的字符串: ^\w+$   
  16.匹配中文字符的正则表达式: [\u4e00-\u9fa5] 

  17.匹配双字节字符(包括汉字在内):[^\x00-\xff]
  18.匹配空行的正则表达式:\n[\s| ]*\r

  19.匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 
  20.匹配首尾空格的正则表达式:(^\s*)|(\s*$)

  21.中国身份证:(^\d{15}$)|(\d{17}(?:\d|x|X)$)
  22.邮箱:^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$

  23.手机号码:^(1(([35][0-9])|(47)|[8][01236789]))\d{8}$
  24.手机号码电话号码同时验证(^\(?\d{3,4}[\)\-]?\d{5,10}$)|(^\[1358]d{10}$)

  25.实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$ 
  26.电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9}) 

  27.网络链接:(h|H)(r|R)(e|E)(f|F)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?     
  28.图片链接:(s|S)(r|R)(c|C)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?

  29.中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}     
  30.中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

  31.中国邮政编码:[1-9]{1}(\d+){5}         
  32.ip地址:^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$

  33.简单的日期判断(YYYY/MM/DD):^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$
  34.演化的日期判断(YYYY/MM/DD| YY/MM/DD): ^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$

  35.时间yyyy-MM-dd HH:MM:SS :^[1-9][0-9]{3}-(0?[1-9]|1[0|1|2])-(0?[1-9]|[1|2][0-9]|3[0|1]) (0?[1-9]|1[0-9]|2[0-3]):(0?[0-9]|[1|2|3|4|5][0-9]):(0?[0-9]|[1|2|3|4|5][0-9])$

  36.匹配网址URL的正则表达式:((http|ftp|https|file):\/\/([\w\-]+\.)+[\w\-]+(\/[\w\u4e00-\u9fa5\-\.\/?\@\%\!\&=\+\~\:\#\;\,]*)?) 

三:举例js中

  <script type="text/javascript">

    function Validator(){

      var mail = $("#txt_mail").val();

      var mailreg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

      if(!mailreg.exec(mail)){

        alert("邮箱格式错误!");

        return false;
      }

      var telreg = /(^(13[0-9]{9})|(15[012356789][0-9]{8})|(18[0256789][0-9]{8})|(147[0-9]{8})$)|(^(([0\+]\\d{2,3}-)?(0\d{2,3})-)?(\d{7,9})(-(\d{3,}))?$)/;

      var tel = $("#txt_tel").val();

      if(!telreg.exec(tel))
      {

        alert("联系方式错误!");

        retturn false;

      }

      if($("#txt_name").val()==" ")

      {

        alert("姓名不能为空!");

        return false;
      }

    }

  </script>

posted @ 2018-07-31 15:19  超级驼鹿  阅读(171)  评论(0编辑  收藏  举报
/*