zoukankan      html  css  js  c++  java
  • JavaScript常用判断函数(正则表达式版)

    前两天从网上摘了一篇《JavaScript常用函数》的帖子,里面写了在客户端比较常用的验证函数,但是里面的函数都是利用分解字符串的方法来进行判断的,文章提交后有不少朋友提出好多函数可以用正则表达式代替。今晚上我把这些函数改成利用正则表达式进行验证,写的好不好的地方还请各位多多指教。


    //利用这则表达式获取字符串的长度
    function regDataLength(fData)
    {
        
    var valLength = fData.length;
        
    var reg = new RegExp("^[\u0391-\uFFE5]$");
        
    var result = 0;
        
    for(i=0; i< valLength; i++)
        
    {
            
    if(reg.test(fData.charAt(i)))
            
    {
                result 
    += 2;
            }

            
    else
            
    {
                result 
    ++;
            }

        }

        
    return result;
    }


    //利用正则表达式判断是否是0-9的阿拉伯数字
    function regIsDigit(fData)
    {
        
    var reg = new RegExp("^[0-9]$");
        
    return (reg.test(fData));
    }


    //应用扩展判断是否是数值
    function regIsNumber(fData)
    {
        
    var reg = new RegExp("^[-]?[0-9]+[\.]?[0-9]+$");
        
    return reg.test(fData)
    }

    //验证Email是否正确
        function regIsEmail(fData)
        
    {
            
    var reg = new RegExp("^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
            
    return reg.test(fData);
        }

    //判断手机号是否正确
        function regIsPhone(fData)
        
    {
            
    var reg = /^(\+86)?(1[0-9]{10})$/;
            
    return reg.test(fData);
        }

    基本的验证就写到这吧,如果那个验证写的不对,或者有朋友有更好的方法可以留言。细心的朋友肯能发现我在最后一个验证手机号的函数里用的是/^(\+86)?(1[0-9]{10})$/而不是 new RegExp("^(\+86)?(1[0-9]{10})$");本来呢我是想用后者的,但是用它的时候JavaScript会报错“错误的量词”,但是在MTracer中却正常,所以我便改成了上面的格式,奇怪错误就没了。我也不知道怎么回事。呵呵。
    对了MTracer下载

  • 相关阅读:
    SpringBoot发送邮箱验证码
    判断一个数是否为2的整数次幂
    [模板] 虚树 && bzoj2286-[Sdoi2011]消耗战
    [模板] K-D Tree
    [模板] 平衡树: Splay, 非旋Treap, 替罪羊树
    对于约数个数上界的估计
    luogu3702-[SDOI2017]序列计数
    [模板] 线性基
    [模板] 区间mex && 区间元素种数
    bzoj4367-[IOI2014]holiday假期
  • 原文地址:https://www.cnblogs.com/interboy/p/849921.html
Copyright © 2011-2022 走看看