JS 正则表达式

JS 正则表达式

时间:2016-04-20 10:44:47

作者:zhongxia


正则表达式在 JS 校验中,是 一个非常常用的知识点. 各种表单的验证,字符串验证等 都可以使用 正则表达式来快速的实现

常用的方式

例子:校验邮编

function isPostCode(str){
var re = /^\d{6}$/; //不同的验证,使用不同的正则表达式,至于提示信息,可以自定义
return re.test(str);
}

isPostCode('1231231') false
isPostCode('123412) true

正则表达式的语法

  1. var reg = new RegExp('zhongxia','i') 是否含有zhongxia,不区分大小写

    参数1: 匹配的字符串 参数2: 匹配的选项标志: i 不区分大小写 g 全局搜索 m 多行查找

  2. 当然 定义 正则表达式还有另外一种方法 var reg = /a/i

  3. 常用的几个方法:

    1. test 返回true,false ,校验中,最常用
    2. exec 不匹配返回null
    3. match
    4. replace
    5. search 不匹配返回 -1
    6. split
  4. 使用元字符必须转移 元字符有: ( [ { \ ^ $ | ) ? * + .

    var re = /?/ (Error)
    var re = /\?/ (Yes)
  5. 使用RegExp构造函数与使用正则表达式字面量创建正则表达式注意点

    var str = "\?";
    alert(str);//只会输出?
    var re = /\?/;//将匹配?
    alert(re.test(str));//true
    re = new RegExp("\?");//出错,因为这相当于re = /\?/
    re = new RegExp("\\?");//正确,将匹配?
    alert(re.test(str));//true
  6. 常用 /^start/ //脱字符(^)代表字符开始位置
    /start$/ //$表示字符结束位置

    判断输入的字符是否为英文字母 var reg=/^[a-zA-Z]+$/;

    判断输入的字符是否为整数 var reg=/^[-+]?\d*$/;

    判断输入的字符是否为:a-z,A-Z,0-9 var reg=/^[a-zA-Z0-9_]+$/;

    判断输入的字符是否为中文 var reg=/^[\u0391-\uFFE5]+$/;

    判断输入的EMAIL格式是否正确 var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

    判断输入的邮编(只能为六位)是否正确 reg=/^\d{6}$/;

    Phone : /^(((\d{2,3}))|(\d{3}-))?((0\d{2,3})|0\d{2,3}-)?[1-9]\d{6,7}(-\d{1,4})?$/

    Mobile : /^(((\d{2,3}))|(\d{3}-))?13\d{9}$/

    Url : /^http:\/\/[A-Za-z0-9]+.[A-Za-z0-9]+[\/=\?%-&_~`@[]\':+!]([^<>\"\"])$/

    IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/

    QQ : /^[1-9]\d{4,8}$/

    某种特殊金额:/^((\d{1,3}(,\d{3})*)|(\d+))(.\d{2})?$/ //说明:除“XXX XX,XXX XX,XXX.00”格式外

posted @ 2016-04-20 11:13  那年、仲夏  阅读(390)  评论(0编辑  收藏  举报