溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎樣用JS判斷日期數(shù)字整數(shù)和特殊字符

發(fā)布時間:2021-12-14 14:35:48 來源:億速云 閱讀:115 作者:柒染 欄目:編程語言

怎樣用JS判斷日期數(shù)字整數(shù)和特殊字符,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

如何在用一個程序檢測所輸入的內(nèi)容是否合法,以下是本人自己編寫的一個程序?qū)θ掌凇?shù)字、整數(shù)和特殊字符進(jìn)行了判斷同時還可判斷是正數(shù)還是負(fù)數(shù)(對數(shù)值類和整數(shù)而言)

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


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

參數(shù):
ObjStr :對象標(biāo)識符??對象名;
ObjType:對象類型(′integer′,′number′,′date′,′string′之一)

其他說明:
當(dāng)對象值為空時,則返回錯誤。

Author:PPDJ

例子:
example 1:要求檢驗(yàn)輸入框text1的輸入數(shù)據(jù)是否是“整型”數(shù)據(jù),若不是,則提示
if (!LogicalValue(′text1′,′integer′)) alert(′Error: Your must input a integer number′);
example 2:要求檢驗(yàn)輸入框text1的輸入數(shù)據(jù)是否是“正整型”數(shù)據(jù),若不是,則提示
if (!LogicalValue(′text1′,′integer′,′+′)) alert(′Error: Your must input a positive integer number′);
example 3:要求檢驗(yàn)輸入框text1的輸入數(shù)據(jù)是否是“負(fù)整型”數(shù)據(jù),若不是,則提示
if (!LogicalValue(′text1′,′integer′,′-′)) alert(′Error: Your must input a negative integer number′);
exmaple 4:要求檢驗(yàn)輸入框text1的輸入數(shù)據(jù)是否是數(shù)值,若不是,則提示
if (!LogicalValue(′text1′,′number′)) alert(′Error: Your must input a number′);
exmaple 5:要求檢驗(yàn)輸入框text1的輸入數(shù)據(jù)是否是“正”數(shù)值,若不是,則提示
if (!LogicalValue(′text1′,′number′,′+′)) alert(′Error: Your must input a number′);
exmaple 6:要求檢驗(yàn)輸入框text1的輸入數(shù)據(jù)是否是“負(fù)”數(shù)值,若不是,則提示
if (!LogicalValue(′text1′,′number′,′-′)) alert(′Error: Your must input a number′);
example 7:要求檢驗(yàn)輸入框text1的輸入數(shù)據(jù)是否是日期型,若不是,則提示
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′);
或當(dāng)分隔符為′/′時
if (!LogicalValue(′text1′,′date′,′/′)) alert(′Error: Your must input a logical date value′);
當(dāng)分隔符為′-′時,可不要參數(shù)′-′,可帶上
example 8:要求檢驗(yàn)輸入框text1的輸入表示顏色的字符串是否合理,若不合理,則提示
if (!LogicalValue(′text1′,′string′,′0123456789ABCDEFabcdef′)) alert(′Error: Your must input a logical color value′);
example 9:要求檢驗(yàn)輸入框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(′函數(shù)LogicalValue缺少參數(shù)′);
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+′"類型在現(xiàn)在版本中未提供′);
return false;
}
}

/**
IsInteger: 用于判斷一個數(shù)字型字符串是否為整形,
還可判斷是否是正整數(shù)或負(fù)整數(shù),返回值為true或false
string: 需要判斷的字符串
sign: 若要判斷是正負(fù)數(shù)是使用,是正用′+′,負(fù)′-′,不用則表示不作判斷
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)的參數(shù)出錯: 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

參數(shù):
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′;//加八小時是因?yàn)槲覀兲幱跂|八區(qū)
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: 用于判斷一個數(shù)字型字符串是否為數(shù)值型,
還可判斷是否是正數(shù)或負(fù)數(shù),返回值為true或false
string: 需要判斷的字符串
sign: 若要判斷是正負(fù)數(shù)是使用,是正用′+′,負(fù)′-′,不用則表示不作判斷
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)的參數(shù)出錯: 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

參數(shù):
string : 需要判斷的字符串
compare : 比較的字符串(基準(zhǔn)字符串)
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′′);
}
結(jié)果執(zhí)行的是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 ′"@#$%′′);
}
結(jié)果執(zhí)行的是else部分
*/
function SpecialString(string,compare,BelongOrNot)
{
if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false)))
{
alert(′function SpecialString(string,compare,BelongOrNot)參數(shù)錯誤′);
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;
}
}


//--&gt
< /script>

關(guān)于怎樣用JS判斷日期數(shù)字整數(shù)和特殊字符問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI