JS各種數據驗證


//只允許輸入數字和小數點,且第一位只能是數字
function   validateDecimals(obj){
    var   re   =   /^/d+(?=/.{0,1}/d+$|$)/
    if(obj.value!="")
    {
        if (!obj.value.match(re))
        {
            return false;
        }
    }
    return true;
}
function isDecimals(obj)
{
    if(!validateDecimals(obj))
    {
        alert("請輸入數字和小數點,且第一位只能是數字");
        obj.value="";
        obj.focus();
    }
}

//只能輸入數字
function isNumber(obj)
{
    if(isNaN(obj.value))
    {
        alert("請輸入數字。");
        obj.value="";
        obj.focus();
    }
}

//只能輸入字母和數字
function validateLetterDigit(obj)
{
    var usern = /^[a-zA-Z0-9]{1,}$/;
    if(obj.value!="")
    {
        if (!obj.value.match(usern))
        {
            return false;
        }
    }
    return true;
}
function isLetterDigit(obj)
{
    if(!validateLetterDigit(obj))
    {
        alert("請輸入字母或數字");
        obj.value="";
        obj.focus();
    }
}

//只能輸入字母數字下劃線
function validateLetterDigitUnderline(obj)
{
    //var usern = /^[a-zA-Z0-9_]{1,}$/;
    var usern=/^([a-zA-z_]{1})([/w]*)$/;//首字母必須是下劃線或字母
    if(obj.value!="")
    {
        if (!obj.value.match(usern))
        {
            return false;
        }
    }
    return true;
}
function isLetterDigitUnderline(obj)
{
    if(!validateLetterDigitUnderline(obj))
    {
        alert("請輸入字母數字或下劃線");
        obj.value="";
        obj.focus();
    }
}

//JS驗證數據大小
function CheckValue(obj,maxValue)
{
    var objValue=parseInt(obj.value);
    if(!isNaN(objValue))
    {
        if(objValue>maxValue)
        {
            alert("只能輸入小於"+maxValue+"的數字。");
            obj.value="";
            obj.focus();
        }
    }
}
//字符串長度限制(包括漢字)
function checkLength(obj,digit)
{
    var n=0;
    var str=obj.value;
    for(i=0;i<str.length;i++)
    {
        //轉換成Unicode字符編碼
        var leg=str.charCodeAt(i);
        if(leg>255) //中文(全角)
        {
            n+=2;
        }
        else //英文(半角)
        {
            n+=1;
        }
    }
    if(n>digit)
    {
        alert("輸入長度超出了範圍。");
        obj.value="";
        obj.focus();
    }
}

 

發佈了32 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章