当前位置:   article > 正文

页面中汉字,数字,字符的长度_maxlength 怎么区分汉子长度还是字符长度

maxlength 怎么区分汉子长度还是字符长度

在页面控件中MaxLength控制的是字符数量,所以在页面中得到的汉字,数字,字母的Length都是1,但是在数据库中汉字是2。

当要在页面做限制是,原理:

该字符在Unicode字符集中的编码值来进行比较。例如,字符A的编码是65,字符B的编码是66,依此类推。小写字母从97开始编码,即字母a的编码是97,字母b的编码是98,依此类推。数字字符则是从48开始编码,字符0的编码是48,而字符9的编码是57。还有一些特殊符号如+、-等,在此就不举例了。

我们使用charCodeAt(char)来得到变量char所对应的Unicode编码,根据上面所描述的,英文、数字及一些特殊符号的Unicode编码是已知的,而且有一个范围,因此可以认为,不在此范围之内的字符,都可认为它是汉字,按长度为2来计算。

处理方式:

  1. function a()
  2. {
  3. var b="厂12'\"sdA1厂12'\"sdA1厂12'\"sdA1厂12'\"sdA1厂12'\"sdA1";
  4. alert("长度" + getLength(b));
  5. }
  6. function getLength(str)
  7. {
  8. var len = str.length;
  9. var reLen = 0;
  10. for (var i = 0; i < len; i++)
  11. {
  12. if (str.charCodeAt(i) < 27 || str.charCodeAt(i) > 126)
  13. {
  14. // 全角
  15. reLen += 2;
  16. }
  17. else {
  18. reLen++;
  19. }
  20. }
  21. return reLen;
  22. }



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/238752
推荐阅读
相关标签
  

闽ICP备14008679号