//下面验证的是长度 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,''); }
推荐阅读
细品javascript 寻址,闭包,对象模型和相关问题
正是因为JS是动态语言,所以JS的寻址是现场寻址,而非像C一样,编译后确定。此外,JS引入了this指针,这是一个很麻烦的东西,因为它“隐式”作为一个参数传到函数里面。我们先看“作用域链”话题中的例子: var te>>>详细阅读
本文标题:js 表单验证方法(实用)
地址:http://www.17bianji.com/kaifa2/JS/28785.html
1/2 1