JavaScript判斷字符長度、數(shù)字、Email、電話等常用判斷函數(shù)分享

字號:


    /****************************************************************
    //* 名  稱:DataLength
    //* 功 能:計算數(shù)據(jù)的長度
    //* 入口參數(shù):fData:需要計算的數(shù)據(jù)
    //* 出口參數(shù):返回fData的長度(Unicode長度為2,非Unicode長度為1)
    //*****************************************************************
    function DataLength(fData)
    {
    var intLength=0
    for (var i=0;i<fData.length;i++)
    {
    if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))
    intLength=intLength+2
    else
    intLength=intLength+1
    }
    return intLength
    }
    //****************************************************************
    //* 名  稱:IsEmpty
    //* 功 能:判斷是否為空
    //* 入口參數(shù):fData:要檢查的數(shù)據(jù)
    //* 出口參數(shù):True:空
    //* False:非空
    //*****************************************************************
    function IsEmpty(fData)
    {
    return ((fData==null) || (fData.length==0) )
    }
    //****************************************************************
    //* 名  稱:IsDigit
    //* 功 能:判斷是否為數(shù)字
    //* 入口參數(shù):fData:要檢查的數(shù)據(jù)
    //* 出口參數(shù):True:是0到9的數(shù)字
    //* False:不是0到9的數(shù)字
    //*****************************************************************
    function IsDigit(fData)
    {
    return ((fData>="0") && (fData<="9"))
    }
    //****************************************************************
    //* 名  稱:IsInteger
    //* 功 能:判斷是否為正整數(shù)
    //* 入口參數(shù):fData:要檢查的數(shù)據(jù)
    //* 出口參數(shù):True:是整數(shù),或者數(shù)據(jù)是空的
    //* False:不是整數(shù)
    //*****************************************************************
    function IsInteger(fData)
    {
    //如果為空,返回true
    if (IsEmpty(fData))
    return true
    if ((isNaN(fData)) || (fData.indexOf(".")!=-1) || (fData.indexOf("-")!=-1))
    return false
    return true
    }
    //****************************************************************
    //* 名  稱:IsEmail
    //* 功 能:判斷是否為正確的Email地址
    //* 入口參數(shù):fData:要檢查的數(shù)據(jù)
    //* 出口參數(shù):True:正確的Email地址,或者空
    //* False:錯誤的Email地址
    //*****************************************************************
    function IsEmail(fData)
    {
    if (IsEmpty(fData))
    return true
    if (fData.indexOf("@")==-1)
    return false
    var NameList=fData.split("@");
    if (NameList.length!=2)
    return false
    if (NameList[0].length<1 )
    return false
    if (NameList[1].indexOf(".")<=0)
    return false
    if (fData.indexOf("@")>fData.indexOf("."))
    return false
    if (fData.indexOf(".")==fData.length-1)
    return false
    return true
    }
    //****************************************************************
    //* 名  稱:IsPhone
    //* 功 能:判斷是否為正確的電話號碼(可以含"()"、"()"、"+"、"-"和空格)
    //* 入口參數(shù):fData:要檢查的數(shù)據(jù)
    //* 出口參數(shù):True:正確的電話號碼,或者空
    //* False:錯誤的電話號碼
    //* 錯誤信息:
    //*****************************************************************
    function IsPhone(fData)
    {
    var str;
    var fDatastr="";
    if (IsEmpty(fData))
    return true
    for (var i=0;i<fData.length;i++)
    {
    str=fData.substring(i,i+1);
    if (str!="(" && str!=")" && str!="(" && str!=")" && str!="+" && str!="-" && str!=" ")
    fDatastr=fDatastr+str;
    }
    //alert(fDatastr);
    if (isNaN(fDatastr))
    return false
    return true
    }
    //****************************************************************
    //* 名  稱:IsPlusNumeric
    //* 功 能:判斷是否為正確的正數(shù)(可以含小數(shù)部分)
    //* 入口參數(shù):fData:要檢查的數(shù)據(jù)
    //* 出口參數(shù):True:正確的正數(shù),或者空
    //* False:錯誤的正數(shù)
    //* 錯誤信息:
    //*****************************************************************
    function IsPlusNumeric(fData)
    {
    if (IsEmpty(fData))
    return true
    if ((isNaN(fData)) || (fData.indexOf("-")!=-1))
    return false
    return true
    }
    //****************************************************************
    //* 名  稱:IsNumeric
    //* 功 能:判斷是否為正確的數(shù)字(可以為負數(shù),小數(shù))
    //* 入口參數(shù):fData:要檢查的數(shù)據(jù)
    //* 出口參數(shù):True:正確的數(shù)字,或者空
    //* False:錯誤的數(shù)字
    //* 錯誤信息:
    //*****************************************************************
    function IsNumeric(fData)
    {
    if (IsEmpty(fData))
    return true
    if (isNaN(fData))
    return false
    return true
    }
    //****************************************************************
    //* 名  稱:IsIntegerInRange
    //* 功 能:判斷一個數(shù)字是否在指定的范圍內(nèi)
    //* 入口參數(shù):fInput:要檢查的數(shù)據(jù)
    //* fLower:檢查的范圍下限,如果沒有下限,請用null
    //* fHigh:檢查的上限,如果沒有上限,請用null
    //* 出口參數(shù):True:在指定的范圍內(nèi)
    //* False:超出指定范圍
    //*****************************************************************
    function IsIntegerInRange(fInput,fLower,fHigh)
    {
    if (fLower==null)
    return (fInput<=fHigh)
    else if (fHigh==null)
    return (fInput>=fLower)
    else
    return ((fInput>=fLower) && (fInput<=fHigh))
    }