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

时间:2021-05-25

所以要做的就是
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;
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章