js验证代码大全(表单验证控制)
目录:
L$ J0 y6 H$ x5 h0 L( @1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制
' q( ?. j0 o$ a* C& a2.:js判断汉字、判断是否汉字 、只能输入汉字2 F! C% _& ~+ g8 t: w( Q
3:js判断是否输入英文、只能输入英文
! v# B; L0 a% Z# U Y4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字、只能输入数字
% Y$ m. {5 T8 D" |5:只能输入英文字符和数字, o* n2 c0 X9 h6 \6 M" {) I' ^
6: js email验证 、js 判断email 、信箱/邮箱格式验证7 T1 @+ k8 `: c8 A% r. |9 }, D
7:js字符过滤,屏蔽关键字
5 P7 h4 C' m5 p) R8:js密码验证、判断密码3 w1 K4 A( v) K$ c' x0 ~$ A' ?
2.1: js 不为空、为空或不是对象 、判断为空 、判断不为空
5 u) o F; P$ h3 V) o2.2:比较两个表单项的值是否相同
: ?7 `) Z. }0 e3 ] Y2.3:表单只能为数字和"_",4 R' c! S4 ]9 o G; `4 |* d
2.4:表单项输入数值/长度限定
?' f; ]3 j, Z2.5:中文/英文/数字/邮件地址合法性判断
* t2 ]; N I( ]2.6:限定表单项不能输入的字符" l& m- v$ y" g9 U6 d
2.7表单的自符控制% g; u. `: D4 x( X
2.8:form文本域的通用校验函数1. 长度限制
% T) a( ~: Y7 z! x
% |, V a0 T" c" d1 Y' ~$ `% I7 J$ Q- X% O
$ w! U5 t; I5 h
( C" D( ]/ L9 @, R9 X: l% ^# j2 w8 ^' }' N! }1 ^
1. 长度限制6 f" M* E+ w0 Y2 \0 U; z* L
<script>
" X* a6 L. [# X1 c. s' k. |function test() 8 q/ _: ~5 D0 V* D, G
{
6 J; r5 g6 Z% k9 A. Gif(document.a.b.value.length>50)
2 e, h7 N2 t" [3 n$ m4 K4 a{% p+ u/ T$ l) B2 O
alert("不能超过50个字符!");5 }, _$ O5 R6 a. L
document.a.b.focus();
& R4 v4 \2 p$ [5 T3 [return false;
0 E$ h* y' p3 [}" K% E( }3 c; y& R
}- ?+ z& m6 W. ?! ]7 P% V$ i
</script>6 G% }: e" i% D
<form name=a >
# z( E8 A( E# e<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
. G% `5 z; b I' Y; k<input type="submit" name="Submit" value="check">
\% `! a. v$ B3 r</form>
8 R1 o- O& |) i, H) M( p
8 n5 i; o3 e, P; K& a/ L5 \2. 只能是汉字 6 N/ Y( T$ a& R2 L
<input /oblog/value.replace(/[^u4E00-u9FA5]/g,'')">: a+ ~# w% R( Z9 m! A \) M u
' e& r% {# k4 Y+ o$ [! c7 n5 F3." 只能是英文+ }4 p6 m2 V/ b: h$ _2 y$ v8 w( }
<script language=javascript>
5 Y2 \4 b3 y+ U& B' T: e, _# Mfunction onlyEng()
8 |5 ?; k3 U4 o4 R8 k4 t u{5 @1 X$ i n6 t
if(!(event.keyCode>=65&&event.keyCode<=90)), k8 [' R" D6 S/ g, }! Y7 e4 P
event.returnvalue=false;' x/ ~* M) j$ z5 `% ^
}
: y$ `2 w9 N' u</script>
7 U: N5 @- m# y5 f# J- G9 a2 c" x9 k; b4 F% M& G7 q8 f" `$ u6 D: q
<input >- _6 j) `+ [8 ^
; K# e7 C( D- L$ \% T) |
4. 只能是数字: Q( m7 {' X( Y1 \" J' n, U: A7 _
<script language=javascript>
, d! `3 O1 P8 F1 }# f& ^+ |function onlyNum()7 r+ m. U0 f3 A! Y. L& Z- A
{0 a. p9 O" s/ u7 k- K
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
6 E& T* ?" p- [/ l0 I- Z2 [//考虑小键盘上的数字键2 g' ~3 G4 l9 X( O
event.returnvalue=false;
! D# y% c2 J$ l7 V: {$ H ^ B}
4 A" C( }0 F9 Y1 J. g2 u</script>
7 Y. h' F2 \' o9 C3 M# v: L5 @2 x" X2 g' c: h- M1 G } l+ x
<input >6 H6 M1 Z) s+ e
! c9 H9 o. b( t# O3 c- U) H5. 只能是英文字符和数字
, ?' v3 ~) G! }1 h8 M( f<input /oblog/value.replace(/[W]/g,"'') ">/ X' M7 p; M7 H1 o- \% x4 |6 s6 ?
" o6 v9 ^! R0 e/ t6. 验证油箱格式4 ?# w0 Q% ]/ J6 X* T+ X: w
<SCRIPT LANGUAGE=javascript RUNAT=Server>$ d8 r! M% o1 N# J6 w
function isEmail(strEmail) {$ A: `2 n6 }5 F' z7 `: ^2 A
if (strEmail.search(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/) != -1)
) X2 p1 q3 \5 R# J6 g4 L# ?5 Yreturn true;" M9 i6 o8 A) m: U# z6 w
else& L2 [0 e* L6 h/ }& c
alert("oh");, S0 H4 {# m! a3 }% R, j, a
}# C6 a* h+ \- f: v8 o _
</SCRIPT>
1 k: u) Q5 j- L<input type=text onblur=isEmail(this.value)>
- f) q8 D# e5 L5 K/ m0 h& N5 Y) i6 j6 W1 S! K! w6 X' F7 {& ?# S% V: @
7. 屏蔽关键字(这里屏蔽***和****)
! w9 @( s( V- n9 o3 U4 J% c<script language="javascript1.2">: J6 d5 w$ o7 I0 B
function test() {
" O' k# U/ k* {- t- E- L- `& j! hif((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){/ A+ K7 @0 [/ w' a/ e v/ ?( V7 d
alert(":)");8 u! ]9 `. A8 P4 u
a.b.focus();' a, J: k8 U. Y b
return false;}
& L6 ?7 K" B3 u9 ?. P}7 X: a# o- G5 X3 R/ R q8 J
</script>
/ q4 _' `$ k+ ^( P* F" q<form name=a >( | b: u* N2 i
<input type=text name=b>' v, n( B( S3 J
<input type="submit" name="Submit" value="check"> c4 N- E, l8 B
</form>
8 N0 G% }; A' i9 J( [4 c. _; i
8. 两次输入密码是否相同" z. b: `1 F+ ]# j4 U
<FORM METHOD=POST ACTION="">
/ E" k- s+ ~2 ~5 d<input type="password" id="input1">- M- r, D! ?1 I5 e
<input type="password" id="input2">1 i% q0 E% C9 @ P
<input type="button" value="test" >4 G/ V( w+ `( |9 z
</FORM>- t1 Y! I7 V# b2 _
<script>' W* q( E0 Y, {" z
function check()' C2 n$ a' e: m, P
{
; L. b/ w, ]7 Cwith(document.all){
( B |; Y$ O% R1 I& K' Gif(input1.value!=input2.value)0 T# o" N# Q1 h
{
! r0 c* q; V+ }. D9 _alert("false")/ \ s, T2 {; u( A1 M T2 f5 R
input1.value = "";* k! r4 |" G: A/ K& z
input2.value = "";, D. b9 N9 e6 y$ q, C
}
0 R8 m1 x& N" U4 @! w ielse document.forms[0].submit();
# T1 ?( G* q. m7 @8 m, }# u# @: O}+ L' O+ c( t+ ~1 }9 Z2 r: b
}8 e5 i& y7 o# E" z- D
</script>9 p3 p- L, M6 k' L! c
够了吧 :)4 ^ f$ c/ |$ \1 d6 k0 y; p
屏蔽右键 很酷
+ L7 G" d. Q+ i6 s1 a, d
: w5 T/ B. c; s- |: }9 p& [! j加在body中
8 k6 R' b2 z& _, M: j6 l
) ~. R1 r) b m/ j% X y
/ ]: Z2 j: q! j. C7 h4 ?二
2 ~2 }+ i4 y& n" l7 G' ^9 q; ]+ y$ t, n: `2 `1 Y8 H* M, e
2.1 表单项不能为空( y! N. K3 E0 J" x! V% p
) C& u2 W2 Y s
<script language="javascript">: J3 U' {3 e& \, g# u
<!--9 \' B. K) e/ H& X" W8 s I
function CheckForm()/ d( P4 O$ Z* [
{ 0 X* ^$ ~1 `6 l1 Y1 U
if (document.form.name.value.length == 0) {
8 V4 y/ s1 ~# }9 E: f( ]. U. Nalert("请输入您姓名!");
d* @* ]2 X: z; X/ Y8 mdocument.form.name.focus();! M% \4 w9 Z& Y @; C
return false;* N! ?& m' @: x' Q. U: U* h
}3 Q! f& P' l+ q/ Y
return true;
! F+ ~$ _* q0 }( Z5 a+ Y/ Z}% s) c7 P, U l! ]7 ?
-->
0 D$ Q- S& d0 x1 n</script>( f _# R7 t; |0 I" `+ ~
- q: ^+ t0 E7 c. U8 }, ^/ M2.2 比较两个表单项的值是否相同3 y7 O7 z4 J- e* U6 i4 O5 D8 ?" _
# I. ~/ o: B6 z+ p& C B3 d5 V" E<script language="javascript">
5 y) K& F6 ^0 x1 b9 s<!--
8 T5 }- J U: Q6 efunction CheckForm()7 E/ d$ J7 r% |4 s: \; a! N9 Z- s; y+ c
if (document.form.PWD.value != document.form.PWD_Again.value) {
4 k" ^# t/ l, w4 [( T+ Zalert("您两次输入的密码不一样!请重新输入.");
6 Y2 v2 ^ ]% S7 v- P$ ^) Edocument.ADDUser.PWD.focus();3 ~8 M( [2 ?- A
return false;- Q0 r H! C9 f7 @
}
. d- v% Y" t; r% @8 Q$ W _return true;3 l. a0 k( w, @7 V0 g+ x
}- t7 C/ ?: n$ B, Z K1 `
-->
* ^6 o- R* c( Q2 t4 N( U</script>
6 z$ F9 d1 A- p
5 W3 o# h# w1 e0 r8 I# e2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等2 e9 n5 j) h( S0 X" D- d
+ O$ R8 `% ]8 W7 Q/ L9 j8 W' G8 d
<script language="javascript">' Q7 C J# h3 e) T$ E
<!--1 s1 j+ X& M/ K( e
function isNumber(String)
% f# i) l, ~5 j4 Z7 P{ , e+ E, e1 G, _- _) q
var Letters = "1234567890-"; //可以自己增加可输入值
$ P8 j- B$ I5 w) l5 Q+ L8 tvar i;
5 [; v0 l/ D$ vvar c;
2 l: E' J) P' O1 ?' W% G4 yif(String.charAt( 0 )=='-')1 b9 A% a( m6 k2 A
return false;9 G6 Q5 u+ O1 s) m$ E4 q
if( String.charAt( String.length - 1 ) == '-' )
$ h' S: A8 q' _' creturn false;
4 g5 t6 R. V+ S% ffor( i = 0; i < String.length; i ++ )2 X2 y, a1 Q9 F$ L
{ 2 f K3 C2 c. P9 |. Z0 S4 m) u* | Y
c = String.charAt( i );
$ f& M. B2 b) J" v0 `! D3 nif (Letters.indexOf( c ) < 0)
: j& Y3 Z, o" Freturn false;
8 Y4 b; J8 U4 m2 C! H1 q; i}* c* L C- N- g+ T. v; Q% f
return true;. W, V1 l. `9 ^/ D
}
! y; l8 E. F0 D& c. Jfunction CheckForm()
6 t* @0 F$ ]9 p! E* o{
; a9 \2 f' U. ?( j% m1 W( Uif(! isNumber(document.form.TEL.value)) { 6 b" \3 l/ \) j" ? E
alert("您的电话号码不合法!");
) ]8 o0 P' S; ~# n: Wdocument.form.TEL.focus();$ f& U+ z3 q" Y, w* m* D) R) V( |
return false;$ E* y6 M5 r% o8 n3 B1 I
}' n! h) T+ x/ J' X7 n( M) j
return true;
* N, R7 p3 @; E}
& B" ], I- _, E; A6 @9 k! }-->
2 }$ o3 o8 ]- b% ^, ^</script> R, X8 e' C9 c' d) d7 H4 t1 d
; C$ L( D' _6 M# X4 b% b0 X: H' R6 a8 p+ [$ S- R
2.4 表单项输入数值/长度限定* x4 v( I+ m" s( F
0 q3 U# ?% v5 K4 G; ?
<script language="javascript">: M) ^8 `1 {8 M& e; \* B" o
<!--
" L9 c; c) {( efunction CheckForm() ! z; x& V a) s4 B
{
4 D& x; T6 B# r/ _! o3 iif (document.form.count.value > 100 || document.form.count.value < 1)
7 \; f/ s8 v: B{ " K) p a' _$ [
alert("输入数值不能小于零大于100!");
5 x, s- h* r+ Pdocument.form.count.focus();3 S! c; ] e7 `2 ~) H2 t9 b
return false;. m& ~- g# V7 ^
}+ z( e7 R& D# ]
if (document.form.MESSAGE.value.length<10)
7 ^: b" s, ^+ c7 s{
/ R; ^+ R/ f& a& u# p( X# u7 Aalert("输入文字小于10!");0 \1 b+ @: e+ [* v9 T* ]
document.form.MESSAGE.focus();0 x. i6 M$ T( h9 I8 W9 ]( D
return false;! j! u* m" G4 `7 r P
}
9 l5 }4 }, J7 @; _; I% yreturn true;) r- K3 `3 w9 b' v
}
D0 a1 g& j7 p" P$ M//-->
! g# n) V( a1 @/ u</script>" s) V/ G5 m2 ~: q
/ X, C( V2 t( l8 u, V( y
2.5 中文/英文/数字/邮件地址合法性判断
2 F" d. R$ I- q0 y- I; z3 x( d, L' \9 A; I+ d! j
<SCRIPT LANGUAGE="javascript">
6 m/ D: M) d- t: W" F6 x' e<!--
) R, k0 r# B6 D6 f
+ M( Z$ e; H$ L2 {8 Efunction isEnglish(name) //英文值检测 Q1 N9 I4 D1 I' {; R5 Y
{
2 Q4 N- F% ~( g" g9 U% T/ x1 hif(name.length == 0)- W6 Y( k2 ` A6 Y
return false;
; d$ Y4 b6 q/ C% E/ Afor(i = 0; i < name.length; i++) { 7 b7 v: w; c2 }
if(name.charCodeAt(i) > 128)2 o! [1 c2 }0 Q# t" u1 K+ x9 H
return false;+ P c6 \# ^0 L6 n E" E( Y& w
}* G& K0 w% y, F/ t- u% n' [* f
return true;3 @7 d1 z4 ]2 ~) p5 ^' S; P
}4 C, P i& H6 N2 l! V. l+ D
2 n/ f1 H- T* e" G9 X; Y L5 ufunction isChinese(name) //中文值检测
5 _, w9 P, x+ r) ]7 `+ \{
# i9 u$ R- V4 l0 C; h9 Q* V* Y5 aif(name.length == 0)0 v# K4 T$ }7 E5 y7 a/ t
return false;
8 c: `# g, ?! o7 ]for(i = 0; i < name.length; i++) { % j3 Z3 Z# x) v) L4 ]4 h
if(name.charCodeAt(i) > 128)4 J7 {. I2 k9 Y% t: V
return true;$ ~- E4 V b8 C6 b1 u
}2 f6 d' \: N- J+ g9 R
return false;/ Z& C' M$ G! N1 V
}
9 t5 C9 F }- i2 \8 N( m
2 C$ _/ P/ M3 D4 z$ e( L9 a _( j$ yfunction isMail(name) // E-mail值检测
6 ~1 e4 U, _ g{ : t4 _" F# u6 ?1 ]
if(! isEnglish(name)), Z- M3 \0 g. a, ?* \/ h0 C& a
return false;" T. |0 [( D& H9 x2 w
i = name.indexOf(" at ");( Y+ J1 I! q+ y. L/ Z- b
j = name dot lastIndexOf(" at ");) Y$ _& ~3 Q/ v w& H2 M/ C
if(i == -1)
0 M8 p+ F# d, Z" C/ T7 treturn false;( ?# d$ c, ^" X5 R! k& l& X, A
if(i != j)7 q! e7 O$ E0 O! D
return false;' R1 ~6 L7 k3 ?7 h' G1 N
if(i == name dot length)" { C, _# F' }8 O! Q& [( ` Y7 q
return false;) V3 ^5 x7 V" Y. k
return true;
5 n% {* Y& \ H: y& S4 s3 ?0 d8 S}
. j/ m i5 j: d( ~& F
% O6 }; W' {0 k& N- a* Tfunction isNumber(name) //数值检测
2 p( X. W* P% [8 f9 @! b{ ' E+ q, ]) q6 G) S8 x0 M) C
if(name.length == 0)
! ?3 |1 B9 z6 a; nreturn false;
$ j! k6 e. ^ P* {( kfor(i = 0; i < name.length; i++) {
% a8 s8 @) @% ^. C. v1 }7 V# z8 Nif(name.charAt(i) < "0" || name.charAt(i) > "9")5 _5 D. s* f0 T# N. |
return false;
/ h$ m+ R8 E; g) F Z" ]}
* W& Q. O* _# `4 |6 K" ^1 m0 |return true;' {9 r: n( g5 E* S C
}" i& B+ @+ T! q" B" g
: x( `8 ^7 A) @$ @/ g5 o) O$ G* cfunction CheckForm()
1 Y( q$ r3 r. |& }1 k{ 0 I/ m8 ?& W' k3 I2 x9 n& o
if(! isMail(form.Email.value)) {
0 y1 |2 Q1 V2 }7 E9 ualert("您的电子邮件不合法!");9 v* X5 o9 Z+ z( k/ L
form.Email.focus();
. Q+ A3 P5 V0 L0 i) ureturn false;
& \& I( @2 e \& _% _3 E}
/ w+ H, ^' c% x5 _" }+ gif(! isEnglish(form.name.value)) { ; C I# ?( e4 ?2 R6 {" p3 i8 c" `
alert("英文名不合法!"); v* |+ O+ L) k/ k) f
form.name.focus();2 d2 x# t9 y# U7 z
return false;& i+ u- X; c$ A5 Y# W( z0 a
}
8 h8 @, S5 F, C( \4 { t' R- zif(! isChinese(form.cnname.value)) { 2 H# S2 X$ w: U( `* k7 L6 L
alert("中文名不合法!");
7 a0 h- ~& E3 x) u& b, hform.cnname.focus();
' Z2 H8 w4 [9 g: wreturn false;! m7 l3 R8 n* L7 [
}2 s7 b, g" Y6 }# {9 u
if(! isNumber(form.PublicZipCode.value)) { / _, f C( x' J; V2 t+ \ \6 n) \
alert("邮政编码不合法!");, _2 \$ z& H; e1 _3 j
form.PublicZipCode.focus();
" J# ]6 m6 n1 L' W1 f) hreturn false;
, J1 H5 P1 y, i}8 ]) H* O1 {6 I. j% K* l/ O: n
return true;
) F- a, | m- q}# `9 v8 R% z, F1 K) T( F$ J
//-->7 m" X% V6 {5 A- c' W8 R/ r& u
</SCRIPT>, E8 k) l' S) V! O ~
- C* |( Z4 o- C7 e3 J! q! r% M
2.6 限定表单项不能输入的字符0 n# b, @* l. U ?' F; p, Q
$ p4 \4 y! K) V: T9 U; Q7 |5 T& i
<script language="javascript">1 `: O3 P. H3 O) A9 l
<!--
/ P1 y, S9 k+ f6 q% ^- m0 d7 J/ ~& W
. v% r/ J. b4 v6 h0 a* F8 Gfunction contain(str,charset)// 字符串包含测试函数! l O7 }1 m0 c# G
{ 2 U; k# J, Y/ V
var i;6 ^3 P2 ~! f( t
for(i=0;i<charset.length;i++)
1 [, S& Z1 e8 wif(str.indexOf(charset.charAt(i))>=0)- G7 ]9 B3 @7 }0 O
return true;* V6 J2 ~( z L/ [4 @
return false;6 z1 U% o9 q0 q4 H/ W/ A
}6 J, Z/ _ v# q# @: y
0 j9 \+ L8 b; P( K5 V
function CheckForm()
5 V+ j6 J. d) M' b4 b{
: q- X# W: _8 u" H+ O/ [( Qif ((contain(document.form.NAME.value, "%()><")) || (contain(document.form.MESSAGE.value, "%()><"))). f1 t5 o+ P9 [# f% W1 u5 X" s
{
7 o7 p; v7 a5 f6 X3 y: ~alert("输入了非法字符");
4 u5 N% H# h& A2 A7 ]( a tdocument.form.NAME.focus();7 a* q. X1 Z9 [- W+ m
return false;
4 A! R ?& |. B, q- C& f+ @}
2 _& \. ^5 q6 Z+ J, preturn true;( y* R( N: \1 }2 ?1 b( z9 N
}8 p ~7 O' X( P3 M* ]
//-->
, t! A3 i0 T z' T! A</script> , o6 V; [3 i+ p) c
" g3 Y e, P, f2 w4 b* D& }# |- p
1. 检查一段字符串是否全由数字组成 , {( l% |: u- `
--------------------------------------- ! A# u4 V- d8 [6 t8 Z
<script language="Javascript"><!-- : t- z, e6 m, D7 j# O4 q. ]7 ]
function checkNum(str){return str.match(/D/)==null} 2 i5 b, E! G- p
alert(checkNum("1232142141")) 7 F% D. G% L2 ]) k; p; c- }
alert(checkNum("123214214a1")) ) s: y1 D. K6 M, J& D+ K) O7 I* }" l
// --></script> 0 o8 d: Q3 a. r+ e* z! G. A: y
0 |4 Q% ^' ^! l$ w" J$ v2. 怎么判断是否是字符 ' N+ B/ ~8 A) ?% X# ^
---------------------------------------
$ W: v3 k# C$ V0 Oif (/[^x00-xff]/g.test(s)) alert("含有汉字"); " \/ ]6 A! d" Y+ B( S
else alert("全是字符"); 4 v. @% ^% s+ }. i/ w! c+ c: D) F
4 h; ~3 A6 e$ @7 v* @5 c, X3. 怎么判断是否含有汉字 , G) T' o! n4 U( V. E# w9 b
--------------------------------------- 7 [& c5 s( i; `$ @
if (escape(str).indexOf("%u")!=-1) alert("含有汉字");
% H) E1 Q" m. @5 k0 r3 l7 w$ \7 Melse alert("全是字符"); 8 P0 K5 A% \ R8 s* R( c
3 R; w# z. s. X; X* k5 ^4. 邮箱格式验证
1 g y5 t2 R: D* U% W& E---------------------------------------
$ z0 p. O0 M& h4 y" ]2 \//函数名:chkemail 7 H" w3 c) m1 O
//功能介绍:检查是否为Email Address p* B( B8 n! o1 n( O0 q3 u$ ]
//参数说明:要检查的字符串 & r; R/ X; N' e6 A* \
//返回值:0:不是 1:是 * U( r, H- ^% _ P
function chkemail(a) ! v3 ?0 Z* ^0 ~- y
{ var i=a.length;
; F2 x4 }) W. x/ ~3 a7 Kvar temp = a.indexOf('@'); " R: J! v: v/ _" ]
var tempd = a.indexOf('.'); - K( y1 J+ c7 X1 S2 R
if (temp > 1) {
3 [. D; q; w3 O+ Wif ((i-temp) > 3){ ) T0 l% U6 F$ U, b( M+ U
if ((i-tempd)>0){ 5 m0 O: I$ N1 K8 O
return 1;
6 G+ D7 h; n+ E& r# z+ _; S& L! L}
/ O$ [# W- V) B9 [/ o; p2 u( t# h' ]9 V
}
" e. V" k ?- U5 l" @) w}
- p- p, n7 |; V$ _2 R5 T- ]return 0;
$ w$ W3 M$ m3 L& c- X- ~}
8 U' O9 N* _0 D9 M8 N b* R- T# z( C, W. ]0 b9 I3 K
5. 数字格式验证
1 y; b. v* Y* I: D* K2 q6 K; v5 l---------------------------------------
2 d6 J2 e% u# k' B! Q- Z. V5 C# g//函数名:fucCheckNUM
1 t2 z& f( M0 k, | m, F) k. \//功能介绍:检查是否为数字 . |9 s( ]$ D$ \
//参数说明:要检查的数字
+ J2 ~6 M, ]+ U% Q0 s- Z4 o. \- e//返回值:1为是数字,0为不是数字 . E4 J, e% b/ N2 Q* x; q/ z% [
function fucCheckNUM(NUM)
$ E* p! D, B0 e* Z% Y. B{ : Q/ v5 m- e# j8 Q7 O$ i9 ~
var i,j,strTemp;
: e! E" a& B& f- c; K, x2 ]strTemp="0123456789"; ! L7 y) P3 o0 P) L& G
if ( NUM.length== 0) ! k& ]6 O$ F2 J! \
return 0
& n" }& r! W- }! f: J& |for (i=0;i<NUM.length;i++) . U' n) e# Q3 w" g. x% m0 l
{ 9 M& _4 D, r+ g
j=strTemp.indexOf(NUM.charAt(i)); ; H9 v* ?$ A" E6 k1 D
if (j==-1)
: x7 g9 c9 ?% T/ q; z& @{
: h* ~" m m& G# B9 Y& H' j//说明有字符不是数字
2 R6 O4 N* Y* Y& P Qreturn 0; + A# D; N' ]6 j$ w4 ?! N/ d* u
}
2 L8 X1 A: J- Z}
0 _2 H! q3 y7 b6 U% Z) J, v//说明是数字
; @: Q& @# h3 P3 R" Sreturn 1; x$ _$ V7 X: {; ~ I5 s
} ! b9 U& V) a/ U5 V
7 U; v+ J+ ~. V* u6 P# c ]' p6. 电话号码格式验证
1 ^3 K) F# O8 h$ N7 B* j--------------------------------------- ) r, n4 W, R( O$ Q: H/ ^
//函数名:fucCheckTEL % f2 l. J K' T4 s5 C3 `
//功能介绍:检查是否为电话号码
2 I2 j0 @9 ~# h3 D* u/ \( W6 Q$ h//参数说明:要检查的字符串
2 i1 l0 i5 [! n/ E2 `) b//返回值:1为是合法,0为不合法 & h* L9 d: M) A, w
function fucCheckTEL(TEL)
- u* o# J7 H) m; x+ H% w7 W. _{
) E t% r) h3 S7 O& h9 ^/ f* v1 Vvar i,j,strTemp; 4 ?% I5 H( v. c( H7 O
strTemp="0123456789-()# "; V6 }) f; P8 T. n2 u
for (i=0;i<TEL.length;i++) , K5 p1 @& V1 I
{
M- {) j' c5 u5 B6 o1 xj=strTemp.indexOf(TEL.charAt(i)); 3 G8 u0 G- C1 o2 F6 U+ W
if (j==-1)
0 l- D) G& O) V{
4 G# I O! S% I8 X' P. {//说明有字符不合法
9 n! |( g6 G. _0 {' c8 a. Creturn 0;
0 b" a9 L; [1 k7 X& @/ i4 f R}
5 F& Y6 k: X) q/ X! q$ |} 7 o; m4 `! C, d
//说明合法 4 v9 }- b6 Z0 I/ o' K/ Z v
return 1; 2 }. D0 a: `0 B3 b
}
* M' T) Y; H* C0 `7 A, a
. n4 O% \: n8 V+ W* p# a: V. f# T* O7. 判断输入是否为中文的函数 ! P6 z& z( y2 i2 w% l/ \
---------------------------------------
- u! B- R, B, S5 b- a: P/ p3 ~function ischinese(s){
/ _1 u8 K' B$ Z7 w @7 l( pvar ret=true; , i; @* z1 l" F: L* _
for(var i=0;i<s.length;i++) + J- ~' q6 V, e0 `* l* X( b
ret=ret && (s.charCodeAt(i)>=10000); 2 W' w- c2 g2 @
return ret;
8 R2 l# C+ H# i/ S}
4 A2 l! k) y3 Y8 p# G) W9 S8 `' Z) ^
3 c0 J2 ?, f$ \6 s A8. 综合的判断用户输入的合法性的函数 * i! U0 A% ]( M7 j+ ~- J+ F
--------------------------------------- / L3 X7 X3 Q @# @* S
<script language="javascript"> 5 V2 I( D( p3 n8 Z4 D1 p4 Q6 X% s
//限制输入字符的位数开始 ; O* V' @; T* B9 X8 X& r2 M
//m是用户输入,n是要限制的位数
4 |2 K; u$ G0 \8 w" bfunction issmall(m,n) $ {8 }: H3 I$ }* F- T
{
9 F6 ?+ H( I; Y3 A6 Rif ((m<n) && (m>0))
) n% V3 |* E" O* ^{
" R+ V! T0 x0 l( Z: P: vreturn(false); 4 x: u: k- t4 y8 G. q3 s7 x; t5 z" t
}
& _2 C6 Q6 a* r7 Felse
: F& w9 Z. l) V. I. e% e( Q; M4 d1 y8 ]) }{return(true);} f1 p5 }; T# z' d
} ( R6 P7 k0 l' f" g% |0 u# e1 j0 G
. \' Q) a) a3 n( g
9. 判断密码是否输入一致 ' p* E0 x9 k1 O* M/ k: L
---------------------------------------
`! [+ [! r1 ofunction issame(str1,str2) 0 B) J* h0 P/ W' }/ N# I5 W
{
( B& I, \) n* l8 R) P' Vif (str1==str2) B4 S0 I4 @' n
{return(true);}
# ?9 X& Q! _. N0 Yelse
$ g/ s( e- i8 p{return(false);} % i( s1 M( Y! d
} 1 {- a( q* _8 d3 J+ W
+ ~, z' p# B- j( G
10. 判断用户名是否为数字字母下滑线 * b5 j! b- `" z0 y
---------------------------------------
, P+ h/ r1 u! z6 Ofunction notchinese(str){
Y/ @0 h; `; i6 kvar reg=/[^A-Za-z0-9_]/g
! H, S- O+ }5 bif (reg.test(str)){ 8 O# {. ~8 C# j. z
return (false); 1 O. u+ I6 Z V8 B/ [4 b
}else{
7 Y/ y! W4 H. rreturn(true); } - W4 v& i# M, W$ e5 O0 D0 x4 N. p
} % p" l9 x* }+ |5 [( U
& J+ @! D) M, @5 {* t
2.8. form文本域的通用校验函数
- T+ [! b& t- r8 C---------------------------------------
4 @, k/ b+ U5 ^ p6 V: N% G, ]作用:检测所有必须非空的input文本,比如姓名,账号,邮件地址等等。5 {/ z$ r6 }2 `$ J8 @8 P( D
该校验现在只针对文本域,如果要针对form里面的其他域对象,可以改变判断条件。: k/ U1 t" F- ]0 G' K
5 _) F: }2 V; i* ?) @" P: y使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名8 b: h! u, ]- `0 ]1 Q
html如下<input name="txt_1" title="姓名">,当然,最好用可视化工具比如dreamweaver什么的来编辑域。
" k& y1 P7 m2 d: S( P如果要检测数字类型数据的话,再把域的id统一为sz.
1 V2 f# ?8 m. c- f: O7 D- D) Cjavascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。% E! p' K& b+ q) Y: C4 C
) z4 S0 x! ^3 f5 r2 q程序比较草,只是提供一个思路。抛砖引玉! :)
9 ~& m3 Q+ T0 L0 r) g' ?1 P$ o哦,对了,函数调用方法:< form >+ J! O9 B9 ~2 J( O( {
* D$ q& y5 D3 |; n2 u2 i; {function dovalidate()
/ D! X E o$ ]. q( [' s! E1 p{
& b/ N5 v4 |4 G- V7 N$ N" V+ gfm=document.forms[0] //只检测一个form,如果是多个可以改变判断条件# a9 u3 T/ l2 X/ i
for(i=0;i<fm.length;i++)
5 M* a# J# e# q) I+ H5 W; W{
9 s/ f; {7 A/ h( N//检测判断条件,根据类型不同可以修改
2 W8 q) F* L" m1 }8 e# @if(fm.tagName.toUpperCase()=="INPUT" &&fm.type.toUpperCase()=="TEXT" && (fm.title!=""))
+ R+ r2 ?$ ^2 [( {4 J
, q0 N" j* z" h8 d) i. Uif(fm.value="/blog/="")/// [$ @1 S# A& p, h
{
4 k9 r. l) [& @3 ?: W; F. Istr_warn1=fm.title+"不能为空!";! o& |* v7 [3 c# w
alert(str_warn1);
1 W7 a6 m4 D$ n! g( W* h1 afm.focus();, f& M1 }5 B9 x' N
return false; 3 ^7 ]2 I! o$ F# o& t8 m
}1 q, `, K+ t ~ N. r
if(fm.id.toUpperCase()=="SZ")//数字校验7 @5 x% V3 ~ M( t" ~
{
. c: _8 ~8 E! W/ ?if(isNaN(fm.value))
' X: o, M2 b& V# t: y9 l9 b/ r{ str_warn2=fm.title+"格式不对";
( @! {. K) m j8 {alert(str_warn2);$ t' L/ D: ]- m* o: r2 \4 T( {
fm.focus();% y( E. c/ ?% g, A- @3 B: y* [8 L5 Z
return false;
% W/ Z4 t+ _2 ?0 K R& b}% |, j5 Z5 A2 d. n$ T5 U
}
0 T0 d" K" X9 z}
$ D# p' J& A2 \. hreturn true;' n- f2 W7 g$ W, X
}" Z5 s7 W, N3 }/ w2 K
h% I z, _6 z5 B
; V8 Z" M" j2 [; J2 J[ 本帖最后由 追风 于 2008-4-11 12:45 编辑 ]