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,'');

  }