JavaScript常用判斷函數(Regex版)

來源:互聯網
上載者:User

前兩天從網上摘了一篇《JavaScript常用函數》的文章,裡面寫了在用戶端比較常用的驗證函式,但是裡面的函數都是利用分解字串的方法來進行判斷的,文章提交後有不少朋友提出好多函數可以用Regex代替。今晚上我把這些函數改成利用Regex進行驗證,寫的好不好的地方還請各位多多指教。


//利用這則運算式擷取字串的長度
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;
}

//利用Regex判斷是否是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下載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.