基于jQuery基础表单验证
表单验证对于我们做web的基本上天天都会用到,我这里整理了一个基于jquery的一个函数,方便大家以后直接调用。
js函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 |
////常规验证 必填项、数字、日期、邮箱、手机号码 验证函数 /** * 检查输入框是否为必填项 * 输入参数: * required : 是否为必填项,true 和 false ,true 表示为必填项 (*) * onFocus : 获得焦点的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@) * onError : 验证失败的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@)(验证失败提示) * onSucces : 验证成功的文字提示(如果指定样式则在样式名前加 @ ,因此文字提示首字母不能有@) * tipId : 用于显示提示信息的控件id (*) *dataType :数据类型参数(text,number,date,mail,mobile) *regExp :正则函数 * 组合例子 : {required:true,onFocus:"Required",onBlur:"@error",onSucces:"Success",tipId:"tipid"} */ $.fn.extend({ checkRequired: function (inputArg) { if (inputArg.required) { if ($( this ). is ( "input" ) || $( this ). is ( "textarea" ) || $( this ). is ( "text" )) { //绑定获得焦点事件 $( this ).bind( "focus" , function () { if (inputArg.onFocus != undefined) { $( "#"
+ inputArg.tipId).html(inputArg.onFocus); $( "#"
+ inputArg.tipId).addClass( "div_req" ); } }); //绑定事情焦点事件 $( this ).bind( "blur" , function () { if ($( this ).val() != undefined && $( this ).val() != "" ) { if (inputArg.dataType == undefined || inputArg.dataType == "" ) { $( "#"
+ inputArg.tipId).html(inputArg.onSucces); } else
{ var
bTrue = false ; if (inputArg.regExp != undefined && inputArg.regExp != "" ) { if (!inputArg.regExp.test($( this ).val())) bTrue = true ; } else
{ switch
(inputArg.dataType) { case
"text" : $( "#"
+ inputArg.tipId).html(inputArg.onSucces); break ; case
"number" : if (parseInt($( this ).val()) > 0) { bTrue = true ; } break ; case
"date" : var
mydate = /^((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))$/; if (!mydate.test($( this ).val())) bTrue = true ; break ; case
"mail" : var
myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; if (!myreg.test($( this ).val())) { bTrue = true ; } break ; case
"mobile" : var
mymobile = /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/; if (!mymobile.test($( this ).val())) bTrue = true ; break ; } } if (bTrue) { $( "#"
+ inputArg.tipId).html(inputArg.onError); } else
{ $( "#"
+ inputArg.tipId).html(inputArg.onSucces); } } } else
{ $( "#"
+ inputArg.tipId).html(inputArg.onError); } }); } } } }); ////常规验证 必填项、数字、日期、邮箱、手机号码 验证函数 |
HTML 和样式部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
<style> .div_req { font-size:small; display:inline; color:red; padding-left:10px; letter-spacing:2px } </style> </head> <body> <form id= "form1"
runat= "server" > <div> 是否必填项验证: <input type= "text"
id= "txtName"
/><div id= "txtNameTip"
></div><br /><br /> 手机号码验证: <input type= "text"
id= "mobileId"
/><div id= "txtmobileTip" ></div><br /><br /> 邮箱验证:<input type= "text"
id= "mailId"
/><div id= "txtmailTip" ></div><br /><br /> 日期验证:<input type= "text"
id= "dateId"
/><div id= "txtdateTip" ></div> </div> </form> </body> |
JS测试方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
$(document).ready(function () { $( "#txtName" ).checkRequired({ required: true , onFocus: "*必填项!" , onError: "必须填写啊!" , onSucces: "OK" , tipId: "txtNameTip" }); $( "#mobileId" ).checkRequired({ required: true , onFocus: "*必填项!" , onError: "手机号码有误!请重新输入!" , onSucces: "OK" , tipId: "txtmobileTip" , dataType: "mobile" , regExp: /^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$/ }); $( "#mailId" ).checkRequired({ required: true , onFocus: "*必填项!" , onError: "邮箱有误!请重新输入!" , onSucces: "OK" , tipId: "txtmailTip" , dataType: "mail" }); $( "#dateId" ).checkRequired({ required: true , onFocus: "*必填项!" , onError: "日期输入有误!请重新输入!" , onSucces: "OK" , tipId: "txtdateTip" , dataType: "date" }); }); |
ok!就一个js函数checkRequired();根据不同需求传递不同参数。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。