js 表单验证方法(实用) |
本文标签:js,表单验证 //下面验证的是长度 function checkTextLen(textId){ var len = 0; var checkField=document.getElementById(textId); var inputstring = checkField.value; var string_length = inputstring.length; if (string_length == 0) { return 0; } for (var i=0;i<string_length;i++) { if (inputstring.charAt(i).charCodeAt()>255) len+=2; else len+=1; } return len; } function checkTextLength(textId,length,msg){ var textObj =document.getElementById(textId); if(checkTextLen(textId)>length/1){ alert("["+msg+"]"+"长度最大为"+length+"位,"+"请重新输入!注意:一个汉字占2位"); textObj.focus(); return false; }else { return true; } } //下面验证不含有非法的字符,中文,英文,数字都是合法的 。 function isValidString(textId,errMsg){ szStr = document.getElementById(textId).value; voidChar = "\"><`'!@#$%^&\(\)()!¥……??“”‘*"; for(i = 0 ; i < voidChar.length; i ++){ aChar = voidChar.substring(i, i + 1); if(szStr.indexOf(aChar) > -1){ alert(errMsg); return false; } } return true; } //下面验证只可以输入字母,数字,下划线 function isEnglish(textId,errMsg) { s = document.getElementById(textId).value; //下面的正则表达式限制的长度在6到20之间 //var patrn=/^(\w){6,20}$/; var patrn =/^(\w)*$/; if (!patrn.exec(s)){ alert(errMsg); return false } return true } //下面验证只允许中文 function isChinese(textId,errMsg) { s = document.getElementById(textId).value; var patrn =/[^\u4E00-\u9FA5]/g; if (patrn.exec(s)){ alert(errMsg); return false } return true } //下面验证只允许数字 function isNumber(textId,errMsg) { s = document.getElementById(textId).value; //下面的正则表达式限制的长度在6到20之间 //var patrn=/^(\d){6,20}$/; var patrn =/^(\d)*$/; if (!patrn.exec(s)){ alert(errMsg); return false } return true } 使用js的正则表达式用来控制不允许在文本框里面输入非数字,也就是只允许输入数字 。调用方法 : onkeyup="onlyNum(this);" function onlyNum(obj) { temp = obj.value; //注意下面的正则表达式的写法,没有用引号括起来 。 。 obj.value = temp.replace(/\D/g,); } |