• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用JavaScript判斷日期、數字、整數和特殊字符

    發表于:2007-06-21來源:作者:點擊數: 標簽:
    如何在用一個程序檢測所輸入的內容是否合法,以下是本人自己編寫的一個程序對日期、數字、整數和特殊字符進行了判斷同時還可判斷是正數還是負數(對數值類和整數而言) script language=" java script" !-- /** LogicalValue:用于判斷對象的值是否符合條件,現

       
      如何在用一個程序檢測所輸入的內容是否合法,以下是本人自己編寫的一個程序對日期、數字、整數和特殊字符進行了判斷同時還可判斷是正數還是負數(對數值類和整數而言)

    < script language="javascript">
    < !--

    /**

    LogicalValue:用于判斷對象的值是否符合條件,現已提供的選擇有:
    integer:整型,還可判斷正整型和負整型
    number :數值型,同樣可判斷正負
    date :日期型,可支持以自定義分隔符的日期格式,缺省是以′-′為分隔符
    string :判斷一個字符串包括或不包括某些字符
    返回值:
    true或false

    參數:
    ObjStr :對象標識符――對象名;
    ObjType:對象類型(′integer′,′number′,′date′,′string′之一)

    其他說明:
    當對象值為空時,則返回錯誤。

    Author:PPDJ

    例子:
    example 1:要求檢驗輸入框text1的輸入數據是否是“整型”數據,若不是,則提示
    if (!LogicalValue(′text1′,′integer′)) alert(′Error: Your must input a integer number′);
    example 2:要求檢驗輸入框text1的輸入數據是否是“正整型”數據,若不是,則提示
    if (!LogicalValue(′text1′,′integer′,′+′)) alert(′Error: Your must input a positive integer number′);
    example 3:要求檢驗輸入框text1的輸入數據是否是“負整型”數據,若不是,則提示
    if (!LogicalValue(′text1′,′integer′,′-′)) alert(′Error: Your must input a negative integer number′);
    exmaple 4:要求檢驗輸入框text1的輸入數據是否是數值,若不是,則提示
    if (!LogicalValue(′text1′,′number′)) alert(′Error: Your must input a number′);
    exmaple 5:要求檢驗輸入框text1的輸入數據是否是“正”數值,若不是,則提示
    if (!LogicalValue(′text1′,′number′,′+′)) alert(′Error: Your must input a number′);
    exmaple 6:要求檢驗輸入框text1的輸入數據是否是“負”數值,若不是,則提示
    if (!LogicalValue(′text1′,′number′,′-′)) alert(′Error: Your must input a number′);
    example 7:要求檢驗輸入框text1的輸入數據是否是日期型,若不是,則提示
    if (!LogicalValue(′text1′,′date′)) alert(′Error: Your must input a logical date value′);
    若它的分隔符為A,“A”是一個變量,如常用的′-′和′/′,則用如下語法
    if (!LogicalValue(′text1′,′date′,A)) alert(′Error: Your must input a logical date value′);
    或當分隔符為′/′時
    if (!LogicalValue(′text1′,′date′,′/′)) alert(′Error: Your must input a logical date value′);
    當分隔符為′-′時,可不要參數′-′,可帶上
    example 8:要求檢驗輸入框text1的輸入表示顏色的字符串是否合理,若不合理,則提示
    if (!LogicalValue(′text1′,′string′,′0123456789ABCDEFabcdef′)) alert(′Error: Your must input a logical color value′);
    example 9:要求檢驗輸入框text1的輸入表示密碼的字符串是否不含“′"@#$%&^*”這些字符,若含有,則提示
    if (!LogicalValue(′text1′,′string′,′′"@#$%&^*′,false)) alert(′Error: Your password can not contain ′"@#$%&^*′);
    其中false表示不包含有某些字符,true表示必須是哪些字符,缺省值為true
    */
    function LogicalValue(ObjStr,ObjType)
    {
    var str=′′;
    if ((ObjStr==null) || (ObjStr==′′) || ObjType==null)
    {
    alert(′函數LogicalValue缺少參數′);
    return false;
    }
    var obj = document.all(ObjStr);
    if (obj.value==′′) return false;
    for (var i=2;i{
    if (str!=′′)
    str += ′,′;
    str += ′arguments[′+i+′]′;
    }
    str=(str==′′?′obj.value′:′obj.value,′+str);
    var temp=ObjType.toLowerCase();
    if (temp==′integer′)
    {
    return eval(′IsInteger(′+str+′)′);
    }
    else if (temp==′number′)
    {
    return eval(′IsNumber(′+str+′)′);
    }
    else if (temp==′string′)
    {
    return eval(′SpecialString(′+str+′)′);
    }
    else if (temp==′date′)
    {
    return eval(′IsDate(′+str+′)′);
    }
    else
    {
    alert(′"′+temp+′"類型在現在版本中未提供′);
    return false;
    }
    }

    /**
    IsInteger: 用于判斷一個數字型字符串是否為整形,
    還可判斷是否是正整數或負整數,返回值為true或false
    string: 需要判斷的字符串
    sign: 若要判斷是正負數是使用,是正用′+′,負′-′,不用則表示不作判斷
    Author: PPDJ
    sample:
    var a = ′123′;
    if (IsInteger(a))
    {
    alert(′a is a integer′);
    }
    if (IsInteger(a,′+′))
    {
    alert(a is a positive integer);
    }
    if (IsInteger(a,′-′))
    {
    alert(′a is a negative integer′);
    }
    */

    function IsInteger(string ,sign)
    {
    var integer;
    if ((sign!=null) && (sign!=′-′) && (sign!=′+′))
    {
    alert(′IsInter(string,sign)的參數出錯: sign為null或"-"或"+"′);
    return false;
    }
    integer = parseInt(string);
    if (isNaN(integer))
    {
    return false;
    }
    else if (integer.toString().length==string.length)
    {
    if ((sign==null) || (sign==′-′ && integer<0) || (sign==′+′ && integer>0))
    {
    return true;
    }
    else
    return false;
    }
    else
    return false;
    }

    /**
    IsDate: 用于判斷一個字符串是否是日期格式的字符串

    返回值:
    true或false

    參數:
    DateString: 需要判斷的字符串
    Dilimeter : 日期的分隔符,缺省值為′-′

    Author: PPDJ
    sample:
    var date = ′1999-1-2′;
    if (IsDate(date))
    {
    alert(′You see, the default separator is "-");
    }
    date = ′1999/1/2";
    if (IsDate(date,′/′))
    {
    alert(′The date′s separator is "/");
    }
    */

    function IsDate(DateString , Dilimeter)
    {
    if (DateString==null) return false;
    if (Dilimeter==′′ || Dilimeter==null)
    Dilimeter = ′-′;
    var tempy=′′;
    var tempm=′′;
    var tempd=′′;
    var tempArray;
    if (DateString.length<8 && DateString.length>10)
    return false;
    tempArray = DateString.split(Dilimeter);
    if (tempArray.length!=3)
    return false;
    if (tempArray[0].length==4)
    {
    tempy = tempArray[0];
    tempd = tempArray[2];
    }
    else
    {
    tempy = tempArray[2];
    tempd = tempArray[1];
    }
    tempm = tempArray[1];
    var tDateString = tempy + ′/′+tempm + ′/′+tempd+′ 8:0:0′;//加八小時是因為我們處于東八區
    var tempDate = new Date(tDateString);
    if (isNaN(tempDate))
    return false;
    if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd)))
    {
    return true;
    }
    else
    {
    return false;
    }
    }

    /**
    IsNumber: 用于判斷一個數字型字符串是否為數值型,
    還可判斷是否是正數或負數,返回值為true或false
    string: 需要判斷的字符串
    sign: 若要判斷是正負數是使用,是正用′+′,負′-′,不用則表示不作判斷
    Author: PPDJ
    sample:
    var a = ′123′;
    if (IsNumber(a))
    {
    alert(′a is a number′);
    }
    if (IsNumber(a,′+′))
    {
    alert(a is a positive number);
    }
    if (IsNumber(a,′-′))
    {
    alert(′a is a negative number′);
    }
    */

    function IsNumber(string,sign)
    {
    var number;
    if (string==null) return false;
    if ((sign!=null) && (sign!=′-′) && (sign!=′+′))
    {
    alert(′IsNumber(string,sign)的參數出錯: sign為null或"-"或"+"′);
    return false;
    }
    number = new Number(string);
    if (isNaN(number))
    {
    return false;
    }
    else if ((sign==null) || (sign==′-′ && number<0) || (sign==′+′ && number>0))
    {
    return true;
    }
    else
    return false;
    }

    /**
    SpecialString: 用于判斷一個字符串是否含有或不含有某些字符

    返回值:
    true或false

    參數:
    string : 需要判斷的字符串
    compare : 比較的字符串(基準字符串)
    BelongOrNot: true或false,“true”表示string的每一個字符都包含在compare中,
    “false”表示string的每一個字符都不包含在compare中

    Author: PPDJ
    sample1:
    var str = ′123G′;
    if (SpecialString(str,′1234567890′))
    {
    alert(′Yes, All the letter of the string in ′1234567890′′);
    }
    else
    {
    alert(′No, one or more letters of the string not in ′1234567890′′);
    }
    結果執行的是else部分
    sample2:
    var password = ′1234′;
    if (!SpecialString(password,′′"@#$%′,false))
    {
    alert(′Yes, The password is correct.′);
    }
    else
    {
    alert(′No, The password is contain one or more letters of ′"@#$%′′);
    }
    結果執行的是else部分
    */
    function SpecialString(string,compare,BelongOrNot)
    {
    if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false)))
    {
    alert(′function SpecialString(string,compare,BelongOrNot)參數錯誤′);
    return false;
    }
    if (BelongOrNot==null || BelongOrNot==true)
    {
    for (var i=0;i{
    if (compare.indexOf(string.charAt(i))==-1)
    return false
    }
    return true;
    }
    else
    {
    for (var i=0;i{
    if (compare.indexOf(string.charAt(i))!=-1)
    return false
    }
    return true;
    }
    }

    //-->
    < /script>

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>