zoukankan      html  css  js  c++  java
  • 常用正则表达式

    1、经纬度

    //动态校验经纬坐标输入
    var oldLng=$("#lng").val();
    var oldLat=$("#lat").val();
    var lngRe=/^[-]?(d|([1-9]d)|(1[0-7]d)|(180))(.d*)?$/g;
    var latRe=/^[-]?(d|([1-8]d)|(90))(.d*)?$/g;
    $("#lng,#lat").on("input change propertychange",function(){
        if(this.value.match(this.id=="lng"?lngRe:latRe)==null){
            this.value=(this.id=="lng"?oldLng:oldLat);//输入非法,则恢复上次正确数据
        }else{//保留上次正确数据
            (this.id=="lng" ? oldLng = this.value : oldLat = this.value);
        }
    });

    正则表达式分析:

    经度坐标范围为 -180 ~ 180 ,而纬度坐标范围为 -90 ~ 90 ,以经度为例,表达式可作如下拆分:

    0-9,10-99,100-179,180,这样对应的表达式可分别写为 d,[1-9]d,1[0-7]d,(180),对他们进行“或”(|)运算,再考虑小数((.d*)?)以及负数(-),最后的正则表达式成为了这样: /^[-]?(d|([1-9]d)|(1[0-7]d)|(180))(.d*)?$/g

    同理,纬度的正则表达式就不难了(拆分步骤略,可参考经度): /^[-]?(d|([1-8]d)|(90))(.d*)?$/g

    2、IP

    (d|[1-9]d|1d{2}|2[0-4]d|25[05].){3}(d|[1-9]d|1d{2}|2[0-4]d|25[05])

    3、身份证

    //身份证正则表达式(15位) 
    isIDCard1=/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$/; 
    //身份证正则表达式(18位) 
    isIDCard2=/^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/;

    4、手机号

    /^1[3|4|5|7|8]d{9}$/

    5、邮箱

    /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/

     6、数字

    验证数字:^[0-9]*$
    
    验证n位的数字:^d{n}$
    
    验证至少n位数字:^d{n,}$
    
    验证m-n位的数字:^d{m,n}$
    
    验证零和非零开头的数字:^(0|[1-9][0-9]*)$
    
    验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
    
    验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
    
    验证非零的正整数:^+?[1-9][0-9]*$
    
    验证非零的负整数:^-[1-9][0-9]*$
    
    验证非负整数(正整数 + 0) ^d+$
    
    验证非正整数(负整数 + 0) ^((-d+)|(0+))$
  • 相关阅读:
    博客园博客
    mongo
    函数式编程与面向对象编程的对比
    python_字典dict要点总结
    pyhon_列表、元组要点总结
    vue-element框架通过blob进行后端token权限验证下载
    node-本地搭建服务
    (转载)测试用例标准
    soapUI学习笔记--用例字段参数化
    soapUI学习笔记---断言的小使用
  • 原文地址:https://www.cnblogs.com/shanoon/p/5333022.html
Copyright © 2011-2022 走看看