如何用JS判断日期、数字、整数、特殊字符?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的朋友找到更简单易行的方法。
如何用程序检查输入的内容是否合法?下面是我自己编写的判断日期、数字、整数、特殊字符的程序,判断是正数还是负数(对于数字类和整数)。
脚本语言='javascript '
!-
/**
LogicalValue:用于判断一个对象的值是否满足条件。可用选项包括:
整数:整数,也可以判断正整数和负整数。
数字
:数字型,也可以判断正负。
日期:日期类型,支持自定义分隔符的日期格式,默认以-作为分隔符。
线
:确定字符串是否包含某些字符。
返回值:
对还是错
参数:
对象标识符?对象名称;
对象类型:对象类型(整数、数字、日期和字符串之一)
其他说明:
当对象值为空时,将返回一个错误。
Author:PPDJ
示例:
例子
:要求检查输入框text1中的输入数据是否为“整数”数据,如果不是,则提示。
if(!LogicalValue(text1,integer))
警报(错误:您必须输入一个整数);
例子
23360要求检查输入框text1中的输入数据是否为“正整数”数据,如果不是,则会提示。
如果
(!LogicalValue(text1,integer,)alert(Error:您必须输入一个正数
整数);
示例3:要求检查输入框text1中的输入数据是否为“负整数”数据。如果没有,会提示。
如果
(!LogicalValue(text1,integer,-)alert(error :您必须输入负数
整数);
Exmaple 4:要求检查输入框text1中的输入数据是否为数字,如果不是,则提示。
如果
(!LogicalValue(text1,number))警报(Error:您必须输入一个数字);
Exmaple 5:要求检查输入框text1中的输入数据是否为“正”值,如果不是,则会提示。
如果
(!LogicalValue(text1,number,)alert(Error:您必须输入一个数字);
Exmaple 6:要求检查输入框text1中的输入数据是否为“负”值,如果不是,则会提示。
如果
(!LogicalValue(text1,number,-))警报(Error:您必须输入一个数字);
示例7:要求检查输入框text1中的输入数据是否为日期类型,如果不是,则提示。
如果
(!逻辑值(文本1,日期))警告(错误:您必须输入一个逻辑日期
值);
如果它的分隔符是A,“A”是变量,例如常用的-和/,请使用以下语法
如果
(!逻辑值(文本1,日期,A))警报(错误:您必须输入一个逻辑日期
值);
或者当分离器是/。
if(!LogicalValue(text1,date,/)警报(错误:
您必须输入一个逻辑日期值);
当分隔符为-时,可以取参数-来代替。
例子
83360要求检查输入框text1中输入的表示颜色的字符串是否合理,如果不合理则提示。
如果
(!LogicalValue(text1,string,0123456789ABCDEFabcdef))警报(Error: Your
必须输入逻辑颜色值);
例子
:要求检查在输入框text1中输入的表示密码的字符串是否不包含字符“' @ # $% *”。如果是,系统会提示您。
如果
(!LogicalValue(text1,string,'@#$%^*,false))警报(错误:您的
密码不能更改
tain ´"@#$%&^*´);
其中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>
关于怎样用JS判断日期数字整数和特殊字符问题的解答就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/145782.html