`
butterluo
  • 浏览: 54119 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Javascript中得到中英文混合字符串的长度

    博客分类:
  • js
阅读更多
在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,常常在提交到数据库中造成长度超标的错误,现在用这个方法,可以在提交前先检测一番了
分享到:
评论

相关推荐

    在javascript中如何得到中英文混合字符串的长度

    有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度。 用的是正则表达式。 代码如下: var str = ”坦克是tank的音译”; var len = str.match(/[^ -~]/g) == null ? str.length : str....

    js中英文混合的字符串换行

    ### JavaScript 中英文混合字符串换行处理方法 在前端开发中,经常会遇到需要对文本进行格式化处理的情况,比如将一段过长的字符串按照一定的规则换行显示,这对于提高页面的可读性和美观度是非常重要的。本文将...

    JavaScript获取中英文混合字符串长度的方法示例

    下面我们将详细讨论如何实现JavaScript获取中英文混合字符串长度的方法,并通过实例来解释。 首先,我们可以编写一个名为`StrLen`的函数,该函数接受一个字符串作为参数,然后逐个字符地检查字符串中的每个字符的...

    JavaScript截取中文字符串

    假设有一个包含中英文混合的字符串`"Hello, 你好!"`,现在希望截取前5个字符(其中中文字符按两个字符计): ```javascript var str = "Hello, 你好!"; var result = subString(str, 5, true); console.log(result)...

    javascript截取字符串(通过substring实现并支持中英文混合)

    示例函数sub()使用正则表达式来处理中英文混合字符串,通过比较替换后的字符串长度来判断截取长度是否正确。 示例代码如下: ```javascript <script type="text/javascript"> var sub = function(str, n) { var r...

    js java 判断中文,英文的混合长度

    在JavaScript中,可以通过遍历字符串中的每个字符并检查其Unicode编码值来实现对字符串长度的计算。具体来说,可以利用`charCodeAt()`方法获取字符的Unicode编码值,从而判断该字符是否为中文字符。如果字符的...

    js截取固定长度的中英文字符的简单实例

    在JavaScript中,处理中英文混合的字符串截取是一项常见的任务,尤其在网页开发中,比如显示摘要、控制输入长度等场景。由于JavaScript的内置方法`String.prototype.length`只能计算Unicode字符的数量,对于中文字符...

    用CSS解决中英文混合字符串的截取省略问题的解决办法

    ### 使用CSS解决中英文混合字符串的截取省略问题 #### 背景与需求 在Web开发过程中,经常会遇到需要展示大量文本信息的情况,如新闻列表、文章标题等。为了确保页面布局整洁美观,同时适应不同的屏幕尺寸,通常...

    JS字符串长度判断,超出进行自动截取的实例(支持中文)

    总结来说,文档中提供的JavaScript示例代码,通过合理的长度计算方法和字符串截取逻辑,实现了对中文和英文混合字符串的有效处理,满足了在文本输入框中限制字符长度的需求,特别是对于需要处理中文输入的场景。...

    JavaScript实现的GBK、UTF8字符串实际长度计算函数

    在JavaScript中,字符串长度的计算方式与某些其他编程语言(如PHP)有所不同。JavaScript的`length`属性简单地返回字符串中的字符数量,不考虑字符编码。然而,对于包含多字节字符(如中文字符)的字符串,这可能...

    JS判断字符串字节数并截取长度的方法

    因此,当处理包含中英文混合的字符串时,如果仅以字符数作为长度限制的依据可能会导致实际字节超出预期。这就要求我们进行字节级别的检查。 在给出的示例中,作者展示了一个名为`notifyTextLength`的函数,这个函数...

    JS实现中英文混合文字溢出友好截取功能

    6. 总结:通过上述方法和示例,我们可以看到,在JavaScript中实现中英文混合文本溢出友好截取功能时,需要考虑到中英文字符在空间占用上的差异,利用合适的字符串处理方法和正则表达式技术,封装一个功能强大的字符...

    JS按字节截取字符长度实例

    在JavaScript中,处理字符串长度有时会遇到特殊的情况,特别是涉及到中英文混合的字符串。中文字符占用的字节数是英文字符的两倍,这在计算显示长度时需要特别注意。本实例提供了一种方法,用于根据字节长度来截取...

    javascript中使用正则计算中文长度的例子

    由于JavaScript是基于Unicode编码的,每一个字符都被视为一个单元,而传统后端语言如Java或C++中,中文字符通常被编码为两个字节,因此会出现前后端对于字符串长度的校验不一致的情况。为了解决这个问题,可以利用...

    浅谈JavaScript字符串与数组

    本文主要介绍了JavaScript中的两个基本数据类型:字符串(String)和数组(Array)。尽管是基础概念,但它们是学习JavaScript时必须掌握的核心知识点。下面将详细介绍它们的定义、特点、创建及操作方法。 字符串...

    js实现unicode码字符串与utf8字节数据互转详解

    最后,文档也提到了字符编码处理的重要性,尤其是在存储和读取包含中文、emoji表情和英文混合的字符串时。正确地处理这些字符的编码转换,可以确保信息在不同系统或平台之间传输时不会丢失或出现乱码。 了解了上述...

    数字字母特殊字符两两混合正则表达式

    假设我们要匹配的字符串长度至少为4,那么基本结构可以是:一个数字后面跟着一个字母,然后是特殊字符,再接着是另一个数字,以此类推。如果允许字符串以任何类型的字符开头和结束,那么表达式可以这样构建: ```...

Global site tag (gtag.js) - Google Analytics