Bingly

 

常用正则检测

  这是我收集的以及一些修改的常用正则表达式, 实际中用的可能会较多, 放在这里希望大家能用得到:

    'use strict';
    var reg = {
    /*numbers*/
    //start with +86|86 13(0-9),15(0|1|2|3|5|6|7|8|9), 18(0|1|2|3|5|6|7|8|9)
    phoneNumber: {
      reg: /^([+]?86)?(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/,
      errorMessage: '请输入正确的手机号码'
    },
    //start with 3 number(010 to 029), 4 numbers (0310-0999)
    telephoneNumber: {
      reg: /^(0[12]\d{1}-\d{8})|(0[3-9][1-9]\d{1}-\d{7})$/,
      errorMessage: '请输入正确的座机号码'
    },
    //15 or (18 end with number or x|X)
    idNumber: {
      reg: /^([0-9]{15}|([0-9]{17}[\dxX]))$/,
      errorMessage: '请输入正确的身份证号码'
    },
    //year-month-day 3000>y>1000 - (01-12)|(1-9) - (01-31)|(1-9)
    date: {
      reg: /^[12]{1}\d{3}-([1-9]|0[1-9]|1[12])-([1-9]|0[1-9]|[12][0-9]|3[01])$/,
      errorMessage: '日期格式不正确, 如:1990-2-2'
    },
    //date-moth-day space (00-23):(00-59):(00-59)
    dateTime: {
      reg: /^[12]{1}\d{3}-([1-9]|0[1-9]|1[12])-([1-9]|0[1-9]|[12][0-9]|3[01])\s{1}([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/,
      errorMessage: '时间格式不正确, 如:1990-2-2 10:22:22'
    },
    //example: 5,101,122.01
    currency: {
      reg: /^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)([.][0-9]{1,2})?$/,
      errorMessage: '货币格式不正确, 如:100,122.00'
    },
    // > 10000
    QQ: {
      reg: /^[1-9][0-9]{4,}$/,
      errorMessage: '您所输入的QQ不存在'
    },
    // 6 numbers
    postalCode: {
      reg: /^[1-9]\d{5}$/,
      errorMessage: '邮政编码格式不正确'
    },
    //(0-255).(0-255).(0-255).(0-255)
    IP: {
      reg: /^([0-9]|[1-9][0-9]|(1\d{2}|2[0-5]{2}))\.([0-9]|[1-9][0-9]|(1\d{2}|2[0-5]{2}))\.([0-9]|[1-9][0-9]|(1\d{2}|2[0-5]{2}))\.([0-9]|[1-9][0-        9]|(1\d{2}|2[0-5]{2}))$/,
      errorMessage: 'ip地址格式不正确'
    },

    /*strings*/
    //words .words* @ words .words .words*
    email: {
      reg: /^\w+(\.\w+)*@\w+(\.\w+)*\.\w+(\.\w+)*$/,
      errorMessage: '邮箱地址格式不正确'
    },
    //
    domainName: {
      reg: /^[a-zA-Z0-9]([a-zA-Z0-9]|-){0,62}(\.[a-zA-Z0-9]([a-zA-Z0-9]|-){0,62})+\.?$/,
      errorMessage: '域名格式不正确'
    },
    //
    url: {
      reg: /^http[s]?:\/{2}((\w|-)+\.)+(\w|-)+(\/([\w\.?%&=]|\/|-)*)?$/,
      errorMessage: 'url格式不正确'
    },
    //
    chineseName: {
      reg: /^[\u4e00-\u9fa5]{2,4}$/,
      errorMessage: '中文名只能为2-4个汉字'
    }

  }

  下次我将写一个关于正则的语法检测器的实现, like   ( ( 张三.身高 + 李四.身高) * 2 - 王五.身高 ) /2 = 你.身高;

posted on 2014-04-02 09:30  Bingly  阅读(214)  评论(0)    收藏  举报

导航