/**/
/*
$#################################################$
*/
/**/
/*
程序功能:输入验证
*/
/**/
/*
函数名称:
*/
/**/
/*
function CheckData(valname,val,valimode,limitlen)
*/
/**/
/*
功能说明:验证字符串数据
*/
/**/
/*
function CheckUserName(val,min,max)
*/
/**/
/*
功能说明:验证用户名
*/
/**/
/*
function CheckPassWord(val,min,max)
*/
/**/
/*
功能说明:验证密码
*/
/**/
/*
function IsSame(val1,val2)
*/
/**/
/*
验证密码匹配
*/
/**/
/*
function CheckEmail(val,mode)
*/
/**/
/*
功能说明:验证Email
*/
/**/
/*
function CheckValHeight(val,min,max,mode)
*/
/**/
/*
功能说明:验证用户身高
*/
/**/
/*
function CheckValWeight(val,min,max,mode)
*/
/**/
/*
功能说明:验证用户体重
*/
/**/
/*
function CheckNumber(val,min,max,mode)
*/
/**/
/*
功能说明:验证数值
*/
/**/
/*
function CheckPositive(val,min,max,mode)
*/
/**/
/*
功能说明:验证正数值
*/
/**/
/*
function CheckNegative(val,min,max,mode)
*/
/**/
/*
功能说明:验证负数值
*/
/**/
/*
function CheckFloat(val,min,max,mode)
*/
/**/
/*
功能说明:验证浮点数值
*/
/**/
/*
function CheckPath(val,mode)
*/
/**/
/*
功能说明:验证文件路径
*/
/**/
/*
function CheckURL(val,mode)
*/
/**/
/*
功能说明:验证URL
*/
/**/
/*
function CheckChinaIDCard_J(val,mode)
*/
/**/
/*
功能说明:验证身份证
*/
/**/
/*
function isInteger(sNum)
*/
/**/
/*
功能说明:验证整数
*/
/**/
/*
function CheckZip(val,slen,mode)
*/
/**/
/*
功能说明:验证Zip
*/
/**/
/*
输入参数:mode真&假(是否允许为空)
*/
/**/
/*
val表单(被判断项),va2表单(被判断项)
*/
/**/
/*
max(最大值),min(最小值)
*/
/**/
/*
编写时间: 2003.09.08.2214
*/
/**/
/*
$#################################################$
*/
//
验证字符串数据
function
CheckData(valname,val,valimode,limitlen)
{
if
( val.value.indexOf(
"
<
"
,
0
)
>
0
||
val.value.indexOf(
"
>
"
,
0
)
>
0
)
{
alert(valname
+
"
不能包含<或>字符!。
"
);
val.focus();
val.select();
return
false
;
}
if
(valimode
==
1
)
{
if
(isblank(val.value))
{
alert(valname
+
"
不能为空!
"
);
val.focus();
val.select();
return
false
;
}
tmp
=
new
String(val.value)
if
(istoolong(tmp,limitlen))
{
alert(valname
+
"
不能超过
"
+
limitlen
+
"
个字符!
"
);
val.focus();
val.select();
return
false
;
}
}
else
{
tmp
=
new
String(val.value)
if
(istoolong(tmp,limitlen))
{
alert(valname
+
"
不能超过
"
+
limitlen
+
"
个字符!!
"
);
val.focus();
val.select();
return
false
;
}
}
return
true
;
}
function
isblank(str)
{
var
i;
var
len
=
str.length;
for
(i
=
0
;i
<
len;
++
i)
{
if
(str.charAt(i)
!=
"
"
)
return
false
;
}
return
true
;
}
function
istoolong(str,i)
{
var
len
=
str.length;
if
(i
==
0
)
return
false
;
else
{
if
(len
>
i)
return
true
;
else
return
false
;
}
}
//
验证用户名
function
CheckUserName(val,min,max)
{
var
len
=
val.value.length;
if
(len
<
min
||
len
>
max)
{
alert(
"
用户名长度不正确,应为
"
+
min
+
"
-
"
+
max
+
"
个英文字母、数字。
"
);
val.focus();
val.select();
return
false
;
}
for
(i
=
0
;i
<
val.value.length;i
++
)
{
var
ch
=
val.value.charAt(i);
if
( (ch
<
"
0
"
||
ch
>
"
9
"
)
&&
(ch
<
"
a
"
||
ch
>
"
z
"
))
{
alert(
"
用户名必须由小写字母或数字组成。
"
);
val.focus();
val.select();
return
false
;
}
}
var
first
=
val.value.charAt(
0
)
if
(first
<
"
a
"
||
ch
>
"
z
"
)
{
alert(
"
用户名必须由小写字母开头。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证密码
function
CheckPassWord(val,min,max)
{
var
len
=
val.value.length;
if
(len
<
min
||
len
>
max)
{
alert(
"
密码长度不正确,应为
"
+
min
+
"
-
"
+
max
+
"
个英文字母、数字。
"
);
val.focus();
val.select();
return
false
;
}
for
(i
=
0
;i
<
val.value.length;i
++
)
{
var
ch
=
val.value.charAt(i);
if
( (ch
<
"
0
"
||
ch
>
"
9
"
)
&&
(ch
<
"
a
"
||
ch
>
"
z
"
))
{
alert(
"
密码必须由小写字母或数字组成。
"
);
val.focus();
val.select();
return
false
;
}
}
return
true
;
}
//
验证密码匹配
function
IsSame(val1,val2)
{
if
(val1.value
!=
val2.value )
{
alert(
"
两次输入的密码不相同。
"
);
val2.focus();
val2.select();
return
false
;
}
else
return
true
;
}
//
验证Email
function
CheckEmail(val,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
var
etext
var
elen
var
i
var
aa
etext
=
val.value
elen
=
etext.length
if
(elen
<
5
)
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
i
=
etext.indexOf(
"
@
"
,
0
)
if
(i
==
0
||
i
==-
1
||
i
==
elen
-
1
)
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
else
{
if
(etext.indexOf(
"
@
"
,i
+
1
)
!=-
1
)
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
}
if
(etext.indexOf(
"
..
"
,i
+
1
)
!=-
1
)
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
i
=
etext.indexOf(
"
.
"
,
0
)
if
(i
==
0
||
i
==-
1
||
etext.charAt(elen
-
1
)
==
'.')
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
if
( etext.charAt(
0
)
==
'
-
'
||
etext.charAt(elen
-
1
)
==
'
-
')
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
if
( etext.charAt(
0
)
==
'_'
||
etext.charAt(elen
-
1
)
==
'_')
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
for
(i
=
0
;i
<=
elen
-
1
;i
++
)
{
aa
=
etext.charAt(i)
if
(
!
((aa
==
'.')
||
(aa
==
'@')
||
(aa
==
'
-
')
||
(aa
==
'_')
||
(aa
>=
'
0
'
&&
aa
<=
'
9
')
||
(aa
>=
'a'
&&
aa
<=
'z')
||
(aa
>=
'A'
&&
aa
<=
'Z')))
{
alert(
"
请输入正确的Email。
"
);
val.focus();
val.select();
return
false
;
}
}
return
true
;
}
//
验证用户身高
function
CheckValHeight(val,min,max,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
var
len
=
val.value.length;
if
(len
<
min
||
len
>
max)
{
alert(
"
请输入正确的身高数据。
"
);
val.focus();
val.select();
return
false
;
}
var
val2
=
val.value;
for
(i
=
0
;i
<
val2.length;i
++
)
{
var
ch
=
val2.charAt(i);
if
( (ch
<
"
0
"
||
ch
>
"
9
"
) )
{
alert(
"
身高数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
}
if
(isNaN(val2))
{
alert(
"
身高数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(parseInt(val2)
<=
0
)
{
alert(
"
身高数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('
0
')
==
0
)
{
alert(
"
身高数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证用户体重
function
CheckValWeight(val,min,max,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
var
len
=
val.value.length;
if
(len
<
min
||
len
>
max)
{
alert(
"
请输入正确的体重数据。
"
);
val.focus();
val.select();
return
false
;
}
var
val2
=
val.value;
for
(i
=
0
;i
<
val2.length;i
++
)
{
var
ch
=
val2.charAt(i);
if
( (ch
<
"
0
"
||
ch
>
"
9
"
) )
{
alert(
"
体重数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
}
if
(isNaN(val2))
{
alert(
"
体重数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(parseInt(val2)
<=
0
)
{
alert(
"
体重数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('
0
')
==
0
)
{
alert(
"
体重数据必须由有效数字组成。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证数值
function
CheckNumber(val,min,max,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
var
len
=
val.value.length;
if
(len
<
min
||
len
>
max)
{
alert(
"
请输入正确的数值。
"
);
val.focus();
val.select();
return
false
;
}
var
val2
=
val.value;
for
(i
=
1
;i
<
val2.length;i
++
)
{
var
ch
=
val2.charAt(i);
if
( (ch
<
"
0
"
||
ch
>
"
9
"
) )
{
alert(
"
请输入正确的数值。
"
);
val.focus();
val.select();
return
false
;
}
}
if
(isNaN(val2))
{
alert(
"
请输入正确的数值。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('
0
')
==
0
&&
len
>
1
)
{
alert(
"
请输入正确的有效数值。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('
-
')
==
0
&&
val2.indexOf('
0
')
==
1
)
{
alert(
"
请输入正确的有效数值。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证正数值
function
CheckPositive(val,min,max,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
if
(
!
CheckNumber(val,min,max,mode))
{
val.focus();
val.select();
return
false
;
}
if
(parseInt(val.value)
<=
0
)
{
alert(
"
数据必须为有效的正整数。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证负数值
function
CheckNegative(val,min,max,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
if
(
!
CheckNumber(val,min,max,mode))
{
val.focus();
val.select();
return
false
;
}
if
(parseInt(val.value)
>=
0
)
{
alert(
"
数据必须为有效的负整数。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证浮点数值
function
CheckFloat(val,min,max,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
var
len
=
val.value.length;
if
(len
<
min
||
len
>
max)
{
alert(
"
请输入正确的浮点数值。
"
);
val.focus();
val.select();
return
false
;
}
var
val2
=
val.value;
for
(i
=
1
;i
<
val2.length;i
++
)
{
var
ch
=
val2.charAt(i);
if
( (ch
<
"
0
"
||
ch
>
"
9
"
) )
{
if
(ch
!=
"
.
"
)
{
alert(
"
请输入正确的浮点数值。
"
);
val.focus();
val.select();
return
false
;
}
}
}
if
(isNaN(val2))
{
alert(
"
请输入正确的浮点数值。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('
0
')
==
0
&&
val2.indexOf('.')
!=
1
)
{
alert(
"
请输入正确的有效浮点数值。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('
-
')
==
0
&&
val2.indexOf('
0
')
==
1
&&
val2.indexOf('.')
!=
2
)
{
alert(
"
请输入正确的有效浮点数值。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('
-
')
==
0
&&
val2.indexOf('.')
==
1
)
{
alert(
"
请输入正确的有效浮点数值。
"
);
val.focus();
val.select();
return
false
;
}
else
if
(val2.indexOf('.')
==
0
)
{
alert(
"
请输入正确的有效浮点数值。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证文件路径
function
CheckPath(val,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
var
val2
=
val.value;
if
( val2.indexOf(':\\')
>
0
)
{
var
isNot
=
"
!@#$^*()'`~|]}[{;.>,<?%&+=
"
;
if
(val2.indexOf('\
"
')>0){
alert(
"
请输入正确的文件路径。
"
);
val.focus();
val.select();
return false;
}
else{
for (var i = 0;i < val2.length;i++){
for (var x = 1 ;x < isNot.length;x++){
if (val2.charAt(i)==isNot.charAt(x)){
alert(
"
请输入正确的文件路径。
"
);
val.focus();
val.select();
return false;
}
}
}
}
}
else{
alert(
"
请输入正确的文件路径。
"
);
val.focus();
val.select();
return false;
}
return true;
}
//验证URL
function CheckURL(val,mode){
if((mode==0) && (val.value==
""
)){
return true;
}
var val2 = val.value;
if ( val2.indexOf('://')>0 ){
var isNot=
"
!
@$
^*
()'`
~|
]}
[
{;.
>
,
<
"
;
if (val2.indexOf('\
"
')
>
0
)
{
alert(
"
请输入正确的URL。
"
);
val.focus();
val.select();
return
false
;
}
else
{
for
(
var
i
=
0
;i
<
val2.length;i
++
)
{
for
(
var
x
=
1
;x
<
isNot.length;x
++
)
{
if
(val2.charAt(i)
==
isNot.charAt(x))
{
alert(
"
请输入正确的URL。
"
);
val.focus();
val.select();
return
false
;
}
}
}
}
}
else
{
alert(
"
请输入正确的URL。
"
);
val.focus();
val.select();
return
false
;
}
return
true
;
}
//
验证身份证
function
CheckChinaIDCard_J(val,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
sNo
=
val.value.toString()
if
(
!
isInteger(sNo))
{
alert(
"
请输入正确的身份证。
"
);
val.focus();
val.select();
return
false
}
switch
(sNo.length)
{
case
15
:
if
(isValidDate(sNo.substr(
6
,
2
),sNo.substr(
8
,
2
),sNo.substr(
10
,
2
)))
{
return
true
}
case
17
:
if
(isValidDate(sNo.substr(
6
,
4
),sNo.substr(
10
,
2
),sNo.substr(
12
,
2
)))
{
return
true
}
}
alert(
"
请输入正确的身份证。
"
);
val.focus();
val.select();
return
false
}
function
isInteger(sNum)
{
var
num
num
=
new
RegExp('[
^
0
-
9_]','')
if
(isNaN(sNum))
{
return
false
}
else
{
if
(sNum.search(num)
>=
0
)
{
return
false
}
else
{
return
true
}
}
}
//
验证Zip
function
CheckZip(val,slen,mode)
{
if
((mode
==
0
)
&&
(val.value
==
""
))
{
return
true
;
}
if
(val.value.length
!=
slen)
{
alert('请输入正确的邮政编码
!!
');
val.focus();
val.select();
return
false
}
var
r1
r1
=
new
RegExp('[
^
0
-
9
]','');
if
( val.value.search(r1)
>=
0
)
{
alert('请输入正确的邮政编码
!!
');
val.focus();
val.select();
return
false
}
else
return
true
;
}
电话号码的验证
要求:
(
1
)电话号码由数字、
"
(
"
、
"
)
"
和
"
-
"
构成
(
2
)电话号码为3到8位
(
3
)如果电话号码中包含有区号,那么区号为三位或四位
(
4
)区号用
"
(
"
、
"
)
"
或
"
-
"
和其他部分隔开
(
5
)移动电话号码为11或12位,如果为12位,那么第一位为0
(
6
)11位移动电话号码的第一位和第二位为
"
13
"
(
7
)12位移动电话号码的第二位和第三位为
"
13
"
根据这几条规则,可以与出以下正则表达式:
(
^
[
0
-
9
]
{
3
,
4
}
\
-
[
0
-
9
]
{
3
,
8
}
$)
|
(
^
[
0
-
9
]
{
3
,
8
}
$)
|
(
^
\([
0
-
9
]
{
3
,
4
}
\)[
0
-
9
]
{
3
,
8
}
$)
|
(
^
0
{
0
,
1
}
13
[
0
-
9
]
{
9
}
$)
<
script language
=
"
javascript
"
>
function
PhoneCheck(s)
{
var
str
=
s;
var
reg
=/
(
^
[
0
-
9
]
{
3
,
4
}
\
-
[
0
-
9
]
{
3
,
8
}
$)
|
(
^
[
0
-
9
]
{
3
,
8
}
$)
|
(
^
\([
0
-
9
]
{
3
,
4
}
\)[
0
-
9
]
{
3
,
8
}
$)
|
(
^
0
{
0
,
1
}
13
[
0
-
9
]
{
9
}
$)
/
alert(reg.test(str));
}
</
script
>
<
input type
=
text name
=
"
iphone
"
>
<
input type
=
button onclick
=
"
PhoneCheck(document.all.iphone.value)
"
value
=
"
Check
"
>