表单特效

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > 表单特效 > 文本框 限制

限制文本框输入N个字符的js代码

作者:

这里的字符指的是汉字占两个字节,而数字及其字母占一个字节,如果使用substr肯定是不可以的
所以要做的就是
1.  首先区分出来是两个字节的字符还是一个字节的字符;
2.  使用charCodeAt和String.fromCharCode即可进行相互转换。
代码如下:
复制代码 代码如下:

function validatePostponeValue(obj, objLength)
{
var executeResult = false;
var value = obj.value;
var byteLen=0,len=value.length;
var newValue = "";
 if(value)
 {
  for(var i=0; i<len; i++)
  {
  if(value.charCodeAt(i) > 255)
  {
    byteLen += 2;
  if(byteLen <= 18)
  {
  //alert(String.fromCharCode(value.charCodeAt(i)));
  newValue += String.fromCharCode(value.charCodeAt(i));
  } 
  }
  else
  {
  byteLen ++;
  if(byteLen <= 19)
  {
  //alert(String.fromCharCode(value.charCodeAt(i)));
  newValue += String.fromCharCode(value.charCodeAt(i));
  }
  }
  } 
  }
 
  if(byteLen <= 0)
  {
  //alert("不能为空!");
  obj.focus();
  }
  else if(byteLen > objLength)
  {
  alert("最多只能输入十个汉字(20个字符)。");
  obj.focus(); 
  obj.value = newValue;//value.substr(0, objLength -1);
  }
  else
  {
  executeResult = true;
  }
 
  return executeResult;
}
您可能感兴趣的文章:
阅读全文