熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

用JavaScript判斷日期、數字、整數和特殊字符

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

< script language=javascript>
< !


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

參數
ObjStr 對象標識符——對象名
ObjType對象類型(´integer´´number´´date´´string´之一)

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

Author:PPDJ

例子
example :要求檢驗輸入框text的輸入數據是否是整型數據若不是則提示
if (!LogicalValue(´text´´integer´)) alert(´Error: Your must input a integer number´);
example :要求檢驗輸入框text的輸入數據是否是正整型數據若不是則提示
if (!LogicalValue(´text´´integer´´+´)) alert(´Error: Your must input a positive integer number´);
example :要求檢驗輸入框text的輸入數據是否是負整型數據若不是則提示
if (!LogicalValue(´text´´integer´´´)) alert(´Error: Your must input a negative integer number´);
exmaple :要求檢驗輸入框text的輸入數據是否是數值若不是則提示
if (!LogicalValue(´text´´number´)) alert(´Error: Your must input a number´);
exmaple :要求檢驗輸入框text的輸入數據是否是數值若不是則提示
if (!LogicalValue(´text´´number´´+´)) alert(´Error: Your must input a number´);
exmaple :要求檢驗輸入框text的輸入數據是否是數值若不是則提示
if (!LogicalValue(´text´´number´´´)) alert(´Error: Your must input a number´);
example :要求檢驗輸入框text的輸入數據是否是日期型若不是則提示
if (!LogicalValue(´text´´date´)) alert(´Error: Your must input a logical date value´);
若它的分隔符為AA是一個變量如常用的´´和´/´則用如下語法
if (!LogicalValue(´text´´date´A)) alert(´Error: Your must input a logical date value´);
或當分隔符為´/´時
if (!LogicalValue(´text´´date´´/´)) alert(´Error: Your must input a logical date value´);
當分隔符為´´時可不要參數´´可帶上
example :要求檢驗輸入框text的輸入表示顏色的字符串是否合理若不合理則提示
if (!LogicalValue(´text´´string´´ABCDEFabcdef´)) alert(´Error: Your must input a logical color value´);
example :要求檢驗輸入框text的輸入表示密碼的字符串是否不含´@#$%&^*這些字符若含有則提示
if (!LogicalValue(´text´´string´´´@#$%&^*´false)) alert(´Error: Your password can not contain ´@#$%&^*´);
其中false表示不包含有某些字符true表示必須是哪些字符缺省值為true
*/
function LogicalValue(ObjStrObjType)
{
var str=´´;
if ((ObjStr==null) || (ObjStr==´´) || ObjType==null)
{
alert(´函數LogicalValue缺少參數´);
return false;
}
var obj = documentall(ObjStr);
if (objvalue==´´) return false;
for (var i=;i{
if (str!=´´)
str += ´´;
str += ´arguments[´+i+´]´;
}
str=(str==´´?´objvalue´:´objvalue´+str);
var temp=ObjTypetoLowerCase();
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 = ´´;
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(stringsign)的參數出錯 sign為null或+´);
return false;
}
integer = parseInt(string);
if (isNaN(integer))
{
return false;
}
else if (integertoString()length==stringlength)
{
if ((sign==null) || (sign==´´ && integer<) || (sign==´+´ && integer>))
{
return true;
}
else
return false;
}
else
return false;
}

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

返回值
true或false

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

Author: PPDJ
sample:
var date = ´´;
if (IsDate(date))
{
alert(´You see the default separator is );
}
date = ´//;
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 (DateStringlength< && DateStringlength>)
return false;
tempArray = DateStringsplit(Dilimeter);
if (tempArraylength!=)
return false;
if (tempArray[]length==)
{
tempy = tempArray[];
tempd = tempArray[];
}
else
{
tempy = tempArray[];
tempd = tempArray[];
}
tempm = tempArray[];
var tDateString = tempy + ´/´+tempm + ´/´+tempd+´ ::´;//加八小時是因為我們處於東八區
var tempDate = new Date(tDateString);
if (isNaN(tempDate))
return false;
if (((tempDategetUTCFullYear())toString()==tempy) && (tempDategetMonth()==parseInt(tempm)) && (tempDategetDate()==parseInt(tempd)))
{
return true;
}
else
{
return false;
}
}

/**
IsNumber: 用於判斷一個數字型字符串是否為數值型
還可判斷是否是正數或負數返回值為true或false
string: 需要判斷的字符串
sign: 若要判斷是正負數是使用是正用´+´負´´不用則表示不作判斷
Author: PPDJ
sample:
var a = ´´;
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(stringsign)
{
var number;
if (string==null) return false;
if ((sign!=null) && (sign!=´´) && (sign!=´+´))
{
alert(´IsNumber(stringsign)的參數出錯 sign為null或+´);
return false;
}
number = new Number(string);
if (isNaN(number))
{
return false;
}
else if ((sign==null) || (sign==´´ && number<) || (sign==´+´ && number>))
{
return true;
}
else
return false;
}


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

返回值
true或false

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

Author: PPDJ
sample:
var str = ´G´;
if (SpecialString(str´´))
{
alert(´Yes All the letter of the string in ´´´);
}
else
{
alert(´No one or more letters of the string not in ´´´);
}
結果執行的是else部分
sample:
var password = ´´;
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(stringcompareBelongOrNot)
{
if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false)))
{
alert(´function SpecialString(stringcompareBelongOrNot)參數錯誤´);
return false;
}
if (BelongOrNot==null || BelongOrNot==true)
{
for (var i=;i{
if (compareindexOf(stringcharAt(i))==)
return false
}
return true;
}
else
{
for (var i=;i{
if (compareindexOf(stringcharAt(i))!=)
return false
}
return true;
}
}


//>
< /script>
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19407.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.