JQuery數字類型驗證Regex

來源:互聯網
上載者:User

js驗證數字Regex

 代碼如下 複製代碼

function istrue(a){
var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;
return reg.test(a);
}

function   isNumeric(a)
{
    var   reg=/^(-|+)?d+(.d+)?$/
   return(reg.test(a));
}
//檢查是否為正數
function   isUnsignedNumeric(a)
{
    var   reg=/^d+(.d+)?$/
    alert reg.test(a);
}
//檢查是否為整數
function   isInteger(a)
{
    var   reg=/^(-|+)?d+$/
    return reg.test(a);
}
//檢查是否為正整數
function   isUnsignedInteger(a)
{
    var   reg =/^d+$/
    return reg.test(a);
}

//檢查是否數字
function isNum(a)
{
    var reg = /^d+(.d+)?$/;
    reg.test(a);
}

//檢查是否整數
function isInt(a)
{
    var reg = /^-?d+$/;
    return reg.test(a);
}

 

//去掉非法字元
function trim(str)
{
    return str.replace(/^s+|s+$/g, '');
}


 

驗證數位Regex集

jquery

 代碼如下 複製代碼
intege:"^-?[1-9]//d*$", //整數
intege1:"^[1-9]//d*$", //正整數
intege2:"^-[1-9]//d*$", //負整數
num:"^([+-]?)//d*//.?//d+$", //數字
num1:"^([1-9]//d*|0)$", //正數(正整數 + 0)
num2:"^-[1-9]//d*|0$", //負數(負整數 + 0)
decmal:"^([+-]?)//d*//.//d+$", //浮點數
decmal1:"^[1-9]//d*.//d*|0.//d*[1-9]//d*$",   //正浮點數
decmal2:"^-([1-9]//d*.//d*|0.//d*[1-9]//d*)$",  //負浮點數
decmal3:"^-?([1-9]//d*.//d*|0.//d*[1-9]//d*|0?.0+|0)$",  //浮點數
decmal4:"^[1-9]//d*.//d*|0.//d*[1-9]//d*|0?.0+|0$",   //非負浮點數(正浮點數 + 0)
decmal5:"^(-([1-9]//d*.//d*|0.//d*[1-9]//d*))|0?.0+|0$",  //非正浮點數(負浮點數 + 0)

js

 代碼如下 複製代碼
驗證數字:^[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+))$
驗證長度為3的字元:^.{3}$
驗證由26個英文字母組成的字串:^[A-Za-z]+$
驗證由26個大寫英文字母組成的字串:^[A-Z]+$
驗證由26個小寫英文字母組成的字串:^[a-z]+$
驗證由數字和26個英文字母組成的字串:^[A-Za-z0-9]+$
驗證由數字、26個英文字母或者底線組成的字串:^w+$
驗證使用者密碼:^[a-zA-Z]w{5,17}$ 正確格式為:以字母開頭,長度在6-18之間,只能包含字元、數字和底線。
驗證是否含有 ^%&',;=?$" 等字元:[^%&',;=?$x22]+
驗證漢字:^[u4e00-u9fa5],{0,}$
驗證Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
驗證InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
驗證電話號碼:^((d{3,4})|d{3,4}-)?d{7,8}$:--正確格式為:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
驗證社會安全號碼(15位或18位元字):^d{15}|d{}18$
驗證一年的12個月:^(0?[1-9]|1[0-2])$ 正確格式為:“01”-“09”和“1”“12”
驗證一個月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正確格式為:01、09和1、31。
整數:^-?d+$
非負浮點數(正浮點數 + 0):^d+(.d+)?$
正浮點數 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮點數(負浮點數 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$
負浮點數 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點數 ^(-?d+)(.d+)?$

判斷資料是double還float int等資料類型。

 代碼如下 複製代碼

function f_check_double(obj){
    var numreg;
    var value = obj.value;
    var strvaluetemp, strint, strdec;   
    var dtype = obj.eos_datatype;
    var pos_dtype = dtype.substring(dtype.indexof("(")+1,dtype.indexof(")")).split(",");
    var len = pos_dtype[0], prec = pos_dtype[1];
    try
    {       
        numreg =/[-]/;
        strvaluetemp = value.replace(numreg, "");
        numreg =/[+]/;
        strvaluetemp = strvaluetemp.replace(numreg, "");
        //整數
        if(prec==0){
            numreg =/[.]/;
            if(numreg.test(value) == true){
                f_alert(obj, "輸入必須為整數類型");
                return false;   
            }           
        }       
        if(strvaluetemp.indexof(".") < 0 ){
            if(strvaluetemp.length >( len - prec)){
                f_alert(obj, "整數位不能超過"+ (len - prec) +"位");
                return false;
            }       
        }else{
            strint = strvaluetemp.substr( 0, strvaluetemp.indexof(".") );       
            if(strint.length >( len - prec)){
                f_alert(obj, "整數位不能超過"+ (len - prec) +"位");
                return false;
            }
            strdec = strvaluetemp.substr( (strvaluetemp.indexof(".")+1), strvaluetemp.length );   
            if(strdec.length > prec){
                f_alert(obj, "小數位不能超過"+  prec +"位");
                return false;
            }       
        }       
        return true;
    }catch(e){
        alert("in f_check_double = " + e);
        return false;
    }   
}


數字字母 漢字 JS驗證 

 代碼如下 複製代碼

<html>
    <head>
        <title></title>
        <script language="javascript">
        //JS驗證輸入的內容
        function checkInput()
        {
            var txtName=document.getElementById("txtName");
            var lblMsg=document.getElementById("lblMsg");
           
            //建立Regex
            var re=/^[0-9a-zA-Z]{6,20}$/; //只輸入數字和字母的正則
            //var re=/^[u4e00-u9fa5]{1,10}$/; //只輸入漢字的正則
              
            if(txtName.value.search(re)==-1)
            {
                lblMsg.innerText = "請輸入數字和字母,字元介於六到二十個。";
                //lblMsg.innerText = "請輸入漢字,字元不能超過十個。";
                return false;
            }
            else
            {
                lblMsg.innerText = "√";
                return true;
            }
        }
        </script>
    </head>
    <body>
        <form id="form1" method="post">
            <input id="txtName" onblur="return checkInput()" />
            <div id="lblMsg"></div>
        </form>
    </body>
</html>

要說明的是div會自動換行,可以加入span他不會自動換行除非設定換行。

數位判斷可以用isNaN函數 if(isNaN(document.myform.name.value)){ alert("輸入必須是數字"); return false;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.