js 提交验证

1 目录: 2 1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 3 2.:js判断汉字、判断是否汉字 、只能输入汉字 4 3:js判断是否输入英文、只能输入英文 5 4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字、只能输入数字 6 5:只能输入英文字符和数字 7 6: js email验证 、js 判断email 、信箱/邮箱格式验证 8 7:js字符过滤,屏蔽关键字 9 8:js密码验证、判断密码 10 2.1: js 不为空、为空或不是对象 、判断为空 、判断不为空 11 2.2:比较两个表单项的值是否相同 12 2.3:表单只能为数字和"_", 13 2.4:表单项输入数值/长度限定 14 2.5:中文/英文/数字/邮件地址合法性判断 15 2.6:限定表单项不能输入的字符 16 2.7表单的自符控制 17 2.8:form文本域的通用校验函数 18 19 1. 长度限制 20 <script> 21 function test() 22 { 23 if(document.a.b.value.length>50) 24 { 25 alert("不能超过50个字符!"); 26 document.a.b.focus(); 27 return false; 28 } 29 } 30 </script> 31 <form name=a onsubmit="return test()"> 32 <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea> 33 <input type="submit" name="Submit" value="check"> 34 </form> 35 36 2. 只能是汉字 37 <input onkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')"> 38 39 3." 只能是英文 40 <script language=javascript> 41 function onlyEng() 42 { 43 if(!(event.keyCode>=65&&event.keyCode<=90)) 44 event.returnvalue=false; 45 } 46 </script> 47 48 <input onkeydown="onlyEng();"> 49 50 4. 只能是数字 51 <script language=javascript> 52 function onlyNum() 53 { 54 if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) 55 // 考虑小键盘上的数字键 56 event.returnvalue=false; 57 } 58 </script> 59 60 <input onkeydown="onlyNum();"> 61 62 5. 只能是英文字符和数字 63 <input onkeyup="value="/oblog/value.replace(/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> 64 65 6. 验证油箱格式 66 <SCRIPT LANGUAGE=javascript RUNAT=Server> 67 function isEmail(strEmail) { 68 if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) 69 return true; 70 else 71 alert("oh"); 72 } 73 </SCRIPT> 74 <input type=text onblur=isEmail(this.value)> 75 76 7. 屏蔽关键字(这里屏蔽*******) 77 <script language="javascript1.2"> 78 function test() { 79 if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){ 80 alert(":)"); 81 a.b.focus(); 82 return false;} 83 } 84 </script> 85 <form name=a onsubmit="return test()"> 86 <input type=text name=b> 87 <input type="submit" name="Submit" value="check"> 88 </form> 89 90 8. 两次输入密码是否相同 91 <FORM METHOD=POST ACTION=""> 92 <input type="password" id="input1"> 93 <input type="password" id="input2"> 94 <input type="button" value="test" onclick="check()"> 95 </FORM> 96 <script> 97 function check() 98 { 99 with(document.all){ 100 if(input1.value!=input2.value) 101 { 102 alert("false") 103 input1.value = ""; 104 input2.value = ""; 105 } 106 else document.forms[0].submit(); 107 } 108 } 109 </script> 110 够了吧 :) 111 屏蔽右键 很酷 112 oncontextmenu="return false" ondragstart="return false" onselectstart="return false" 113 加在body中 114 115 116 117 118 2.1 表单项不能为空 119 120 <script language="javascript"> 121 <!-- 122 function CheckForm() 123 { 124 if (document.form.name.value.length == 0) { 125 alert("请输入您姓名!"); 126 document.form.name.focus(); 127 return false; 128 } 129 return true; 130 } 131 --> 132 </script> 133 134 2.2 比较两个表单项的值是否相同 135 136 <script language="javascript"> 137 <!-- 138 function CheckForm() 139 if (document.form.PWD.value != document.form.PWD_Again.value) { 140 alert("您两次输入的密码不一样!请重新输入."); 141 document.ADDUser.PWD.focus(); 142 return false; 143 } 144 return true; 145 } 146 --> 147 </script> 148 149 2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等 150 151 <script language="javascript"> 152 <!-- 153 function isNumber(String) 154 { 155 var Letters = "1234567890-"; // 可以自己增加可输入值 156 var i; 157 var c; 158 if(String.charAt( 0 )=='-') 159 return false; 160 if( String.charAt( String.length - 1 ) == '-' ) 161 return false; 162 for( i = 0; i < String.length; i ++ ) 163 { 164 c = String.charAt( i ); 165 if (Letters.indexOf( c ) < 0) 166 return false; 167 } 168 return true; 169 } 170 function CheckForm() 171 { 172 if(! isNumber(document.form.TEL.value)) { 173 alert("您的电话号码不合法!"); 174 document.form.TEL.focus(); 175 return false; 176 } 177 return true; 178 } 179 --> 180 </script> 181 182 183 2.4 表单项输入数值/长度限定 184 185 <script language="javascript"> 186 <!-- 187 function CheckForm() 188 { 189 if (document.form.count.value > 100 || document.form.count.value < 1) 190 { 191 alert("输入数值不能小于零大于100!"); 192 document.form.count.focus(); 193 return false; 194 } 195 if (document.form.MESSAGE.value.length<10) 196 { 197 alert("输入文字小于10!"); 198 document.form.MESSAGE.focus(); 199 return false; 200 } 201 return true; 202 } 203 // --> 204 </script> 205 206 2.5 中文/英文/数字/邮件地址合法性判断 207 208 <SCRIPT LANGUAGE="javascript"> 209 <!-- 210 211 function isEnglish(name) // 英文值检测 212 { 213 if(name.length == 0) 214 return false; 215 for(i = 0; i < name.length; i++) { 216 if(name.charCodeAt(i) > 128) 217 return false; 218 } 219 return true; 220 } 221 222 function isChinese(name) // 中文值检测 223 { 224 if(name.length == 0) 225 return false; 226 for(i = 0; i < name.length; i++) { 227 if(name.charCodeAt(i) > 128) 228 return true; 229 } 230 return false; 231 } 232 233 function isMail(name) // E-mail值检测 234 { 235 if(! isEnglish(name)) 236 return false; 237 i = name.indexOf(" at "); 238 j = name dot lastIndexOf(" at "); 239 if(i == -1) 240 return false; 241 if(i != j) 242 return false; 243 if(i == name dot length) 244 return false; 245 return true; 246 } 247 248 function isNumber(name) // 数值检测 249 { 250 if(name.length == 0) 251 return false; 252 for(i = 0; i < name.length; i++) { 253 if(name.charAt(i) < "0" || name.charAt(i) > "9") 254 return false; 255 } 256 return true; 257 } 258 259 function CheckForm() 260 { 261 if(! isMail(form.Email.value)) { 262 alert("您的电子邮件不合法!"); 263 form.Email.focus(); 264 return false; 265 } 266 if(! isEnglish(form.name.value)) { 267 alert("英文名不合法!"); 268 form.name.focus(); 269 return false; 270 } 271 if(! isChinese(form.cnname.value)) { 272 alert("中文名不合法!"); 273 form.cnname.focus(); 274 return false; 275 } 276 if(! isNumber(form.PublicZipCode.value)) { 277 alert("邮政编码不合法!"); 278 form.PublicZipCode.focus(); 279 return false; 280 } 281 return true; 282 } 283 // --> 284 </SCRIPT> 285 286 2.6 限定表单项不能输入的字符 287 288 <script language="javascript"> 289 <!-- 290 291 function contain(str,charset)// 字符串包含测试函数 292 { 293 var i; 294 for(i=0;i<charset.length;i++) 295 if(str.indexOf(charset.charAt(i))>=0) 296 return true; 297 return false; 298 } 299 300 function CheckForm() 301 { 302 if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><"))) 303 { 304 alert("输入了非法字符"); 305 document.form.NAME.focus(); 306 return false; 307 } 308 return true; 309 } 310 // --> 311 </script> 312 313 1. 检查一段字符串是否全由数字组成 314 --------------------------------------- 315 <script language="Javascript"><!-- 316 function checkNum(str){return str.match(/\D/)==null} 317 alert(checkNum("1232142141")) 318 alert(checkNum("123214214a1")) 319 // --></script> 320 321 2. 怎么判断是否是字符 322 --------------------------------------- 323 if (/[^\x00-\xff]/g.test(s)) alert("含有汉字"); 324 else alert("全是字符"); 325 326 3. 怎么判断是否含有汉字 327 --------------------------------------- 328 if (escape(str).indexOf("%u")!=-1) alert("含有汉字"); 329 else alert("全是字符"); 330 331 4. 邮箱格式验证 332 --------------------------------------- 333 // 函数名:chkemail 334 // 功能介绍:检查是否为Email Address 335 // 参数说明:要检查的字符串 336 // 返回值:0:不是 1:是 337 function chkemail(a) 338 { var i=a.length; 339 var temp = a.indexOf('@'); 340 var tempd = a.indexOf('.'); 341 if (temp > 1) { 342 if ((i-temp) > 3){ 343 if ((i-tempd)>0){ 344 return 1; 345 } 346 347 } 348 } 349 return 0; 350 } 351 352 5. 数字格式验证 353 --------------------------------------- 354 // 函数名:fucCheckNUM 355 // 功能介绍:检查是否为数字 356 // 参数说明:要检查的数字 357 // 返回值:1为是数字,0为不是数字 358 function fucCheckNUM(NUM) 359 { 360 var i,j,strTemp; 361 strTemp="0123456789"; 362 if ( NUM.length== 0) 363 return 0 364 for (i=0;i<NUM.length;i++) 365 { 366 j=strTemp.indexOf(NUM.charAt(i)); 367 if (j==-1) 368 { 369 // 说明有字符不是数字 370 return 0; 371 } 372 } 373 // 说明是数字 374 return 1; 375 } 376 377 6. 电话号码格式验证 378 --------------------------------------- 379 // 函数名:fucCheckTEL 380 // 功能介绍:检查是否为电话号码 381 // 参数说明:要检查的字符串 382 // 返回值:1为是合法,0为不合法 383 function fucCheckTEL(TEL) 384 { 385 var i,j,strTemp; 386 strTemp="0123456789-()# "; 387 for (i=0;i<TEL.length;i++) 388 { 389 j=strTemp.indexOf(TEL.charAt(i)); 390 if (j==-1) 391 { 392 // 说明有字符不合法 393 return 0; 394 } 395 } 396 // 说明合法 397 return 1; 398 } 399 400 7. 判断输入是否为中文的函数 401 --------------------------------------- 402 function ischinese(s){ 403 var ret=true; 404 for(var i=0;i<s.length;i++) 405 ret=ret && (s.charCodeAt(i)>=10000); 406 return ret; 407 } 408 409 8. 综合的判断用户输入的合法性的函数 410 --------------------------------------- 411 <script language="javascript"> 412 // 限制输入字符的位数开始 413 // m是用户输入,n是要限制的位数 414 function issmall(m,n) 415 { 416 if ((m<n) && (m>0)) 417 { 418 return(false); 419 } 420 else 421 {return(true);} 422 } 423 424 9. 判断密码是否输入一致 425 --------------------------------------- 426 function issame(str1,str2) 427 { 428 if (str1==str2) 429 {return(true);} 430 else 431 {return(false);} 432 } 433 434 10. 判断用户名是否为数字字母下滑线 435 --------------------------------------- 436 function notchinese(str){ 437 var reg=/[^A-Za-z0-9_]/g 438 if (reg.test(str)){ 439 return (false); 440 }else{ 441 return(true); } 442 } 443 444 2.8. form文本域的通用校验函数 445 --------------------------------------- 446 作用:检测所有必须非空的input文本,比如姓名,账号,邮件地址等等。 447 该校验现在只针对文本域,如果要针对form里面的其他域对象,可以改变判断条件。 448 449 使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名 450 html如下<input name="txt_1" title="姓名">,当然,最好用可视化工具比如dreamweaver什么的来编辑域。 451 如果要检测数字类型数据的话,再把域的id统一为sz. 452 javascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。 453 454 程序比较草,只是提供一个思路。抛砖引玉! :) 455 哦,对了,函数调用方法:< form onsubmit="return dovalidate()"> 456 457 function dovalidate() 458 { 459 fm=document.forms[0] // 只检测一个form,如果是多个可以改变判断条件 460 for(i=0;i<fm.length;i++) 461 { 462 // 检测判断条件,根据类型不同可以修改 463 if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type.toUpperCase()=="TEXT" && (fm[i].title!="")) 464 465 if(fm[i].value="/blog/="")// 466 { 467 str_warn1=fm[i].title+"不能为空!"; 468 alert(str_warn1); 469 fm[i].focus(); 470 return false; 471 } 472 if(fm[i].id.toUpperCase()=="SZ")// 数字校验 473 { 474 if(isNaN(fm[i].value)) 475 { str_warn2=fm[i].title+"格式不对"; 476 alert(str_warn2); 477 fm[i].focus(); 478 return false; 479 } 480 } 481 } 482 return true; 483 }
posted @ 2013-01-22 17:41  sunny5156  阅读(265)  评论(0编辑  收藏  举报