javascript

位置:IT落伍者 >> javascript >> 浏览文章

用JavaScript判断日期、数字、整数和特殊字符


发布日期:2018年11月28日
 
用JavaScript判断日期、数字、整数和特殊字符
如何在用一个程序检测所输入的内容是否合法以下是本人自己编写的一个程序对日期数字整数和特殊字符进行了判断同时还可判断是正数还是负数(对数值类和整数而言)

< 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>               

上一篇:JavaScript的目的

下一篇:检测字符的Javascript代码