在javascript中如何得到中英文混合字符串的长度。
用的是正则表达式。
var str = ”坦克是tank的音译”;
var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ;
我查了一下书,有点明白了:
西文常用字符集由空格“ ”(0x20)到“~”(0x7e)构成,汉字会落在这个字符集外,而正则表达式[^ -~]表示除空格到“~”外的字符集。
string.match(regex) 会以数组形式返回字符串string中匹配正则表达式regex的子串,所以,
str.match(/[^ -~]/g)会以数组的形式返回一个个汉字。例如
var str = "dd大哥";
//显示"大,哥",数组中返回两个汉字,数组长度为2
alert(str.match(/[^ -~]/g));
这样,var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ;就可以得到str的正确长度了。
在javascript中,一个汉字的长度也被计算为1,常常在提交到数据库中造成长度超标的错误,现在用这个方法,可以在提交前先检测一番了
分享到:
相关推荐
有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度。 用的是正则表达式。 代码如下: var str = ”坦克是tank的音译”; var len = str.match(/[^ -~]/g) == null ? str.length : str....
### JavaScript 中英文混合字符串换行处理方法 在前端开发中,经常会遇到需要对文本进行格式化处理的情况,比如将一段过长的字符串按照一定的规则换行显示,这对于提高页面的可读性和美观度是非常重要的。本文将...
下面我们将详细讨论如何实现JavaScript获取中英文混合字符串长度的方法,并通过实例来解释。 首先,我们可以编写一个名为`StrLen`的函数,该函数接受一个字符串作为参数,然后逐个字符地检查字符串中的每个字符的...
假设有一个包含中英文混合的字符串`"Hello, 你好!"`,现在希望截取前5个字符(其中中文字符按两个字符计): ```javascript var str = "Hello, 你好!"; var result = subString(str, 5, true); console.log(result)...
示例函数sub()使用正则表达式来处理中英文混合字符串,通过比较替换后的字符串长度来判断截取长度是否正确。 示例代码如下: ```javascript <script type="text/javascript"> var sub = function(str, n) { var r...
在JavaScript中,可以通过遍历字符串中的每个字符并检查其Unicode编码值来实现对字符串长度的计算。具体来说,可以利用`charCodeAt()`方法获取字符的Unicode编码值,从而判断该字符是否为中文字符。如果字符的...
在JavaScript中,处理中英文混合的字符串截取是一项常见的任务,尤其在网页开发中,比如显示摘要、控制输入长度等场景。由于JavaScript的内置方法`String.prototype.length`只能计算Unicode字符的数量,对于中文字符...
### 使用CSS解决中英文混合字符串的截取省略问题 #### 背景与需求 在Web开发过程中,经常会遇到需要展示大量文本信息的情况,如新闻列表、文章标题等。为了确保页面布局整洁美观,同时适应不同的屏幕尺寸,通常...
总结来说,文档中提供的JavaScript示例代码,通过合理的长度计算方法和字符串截取逻辑,实现了对中文和英文混合字符串的有效处理,满足了在文本输入框中限制字符长度的需求,特别是对于需要处理中文输入的场景。...
在JavaScript中,字符串长度的计算方式与某些其他编程语言(如PHP)有所不同。JavaScript的`length`属性简单地返回字符串中的字符数量,不考虑字符编码。然而,对于包含多字节字符(如中文字符)的字符串,这可能...
因此,当处理包含中英文混合的字符串时,如果仅以字符数作为长度限制的依据可能会导致实际字节超出预期。这就要求我们进行字节级别的检查。 在给出的示例中,作者展示了一个名为`notifyTextLength`的函数,这个函数...
6. 总结:通过上述方法和示例,我们可以看到,在JavaScript中实现中英文混合文本溢出友好截取功能时,需要考虑到中英文字符在空间占用上的差异,利用合适的字符串处理方法和正则表达式技术,封装一个功能强大的字符...
在JavaScript中,处理字符串长度有时会遇到特殊的情况,特别是涉及到中英文混合的字符串。中文字符占用的字节数是英文字符的两倍,这在计算显示长度时需要特别注意。本实例提供了一种方法,用于根据字节长度来截取...
由于JavaScript是基于Unicode编码的,每一个字符都被视为一个单元,而传统后端语言如Java或C++中,中文字符通常被编码为两个字节,因此会出现前后端对于字符串长度的校验不一致的情况。为了解决这个问题,可以利用...
本文主要介绍了JavaScript中的两个基本数据类型:字符串(String)和数组(Array)。尽管是基础概念,但它们是学习JavaScript时必须掌握的核心知识点。下面将详细介绍它们的定义、特点、创建及操作方法。 字符串...
最后,文档也提到了字符编码处理的重要性,尤其是在存储和读取包含中文、emoji表情和英文混合的字符串时。正确地处理这些字符的编码转换,可以确保信息在不同系统或平台之间传输时不会丢失或出现乱码。 了解了上述...
假设我们要匹配的字符串长度至少为4,那么基本结构可以是:一个数字后面跟着一个字母,然后是特殊字符,再接着是另一个数字,以此类推。如果允许字符串以任何类型的字符开头和结束,那么表达式可以这样构建: ```...