博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js计算textarea输入文字的长度
阅读量:5349 次
发布时间:2019-06-15

本文共 984 字,大约阅读时间需要 3 分钟。

前言

日常开发过程中,有些时候我们想使用textarea,然后限制输入的长度,在textarea末尾显示剩余可输入的字节数。

如下图:

 

 解决方法:

常用的有三种方法:

1、通过判断charCodeAt,区分字母与中文 ,然后计算字符串的长度。

2、通过使用charCodeAt 和 0xff00区分中文与英文,这个代码量稍微减少一些。

3、使用正则,把输入的中文,转成英文。1个中文等于两个英文,最后计算英文个数。

 

代码如下: 

方法一:

var obj = {};obj.GetLength = function(str) {    // 获得字符串实际长度,中文2,英文1    // 要获得长度的字符串    var realLength = 0, len = str.length, charCode = -1;    for (var i = 0; i < len; i++) {        charCode = str.charCodeAt(i);        if (charCode >= 0 && charCode <= 128)               realLength += 1;        else              realLength += 2;    }    return realLength;};alert(obj.GetLength('这是中文aaaaaaa'));

方法二(更简洁的方法):

var length = str.length; // str是输入的字符串var blen = 0;for (i=0; i

方法三(更更简洁的方法):

var obj = {};obj.GetLength = function(str) { // str是输入的字符串    return str.replace(/[\u0391-\uFFE5]/g,"aa").length;   // 先把中文替换成两个字节的英文,再计算长度};   alert(obj.GetLength('这是中文aaaaaa'));

 

TIP:

charCodeAt()方法的作用是:返回指定位置的字符的 Unicode 编码

转载于:https://www.cnblogs.com/cczlovexw/p/10821031.html

你可能感兴趣的文章
List<string> 去重复 并且出现次数最多的排前面
查看>>
js日志管理-log4javascript学习小结
查看>>
Android之布局androidmanifest.xml 资源清单 概述
查看>>
How to Find Research Problems
查看>>
Linux用户管理
查看>>
数据库第1,2,3范式学习
查看>>
《Linux内核设计与实现》第四章学习笔记
查看>>
使用iperf测试网络性能
查看>>
图片的显示隐藏(两张图片,默认的时候显示第一张,点击的时候显示另一张)...
查看>>
Docker 安装MySQL5.7(三)
查看>>
python 模块 来了 (调包侠 修炼手册一)
查看>>
关于CSS的使用方式
查看>>
分析语句执行步骤并对排出耗时比较多的语句
查看>>
原生JS轮播-各种效果的极简实现
查看>>
计数器方法使用?
查看>>
带你全面了解高级 Java 面试中需要掌握的 JVM 知识点
查看>>
sonar结合jenkins
查看>>
解决VS+QT无法生成moc文件的问题
查看>>
AngularJs练习Demo14自定义服务
查看>>
关于空想X
查看>>