`
zscomehuyue
  • 浏览: 401023 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JS使用正则和charCodeAt()方法区分中英文字符的2种方法

 
阅读更多

JS使用正则和charCodeAt()方法区分中英文字符的2种方法
时间:2010-10-27 13:45:02 来源:www.cnblogs.com 作者:Mr.Think
-
-

本文和大家分享一下JS区分中英文字符的两种方法: 正则和charCodeAt()方法。

正则无疑是最强大的判断各种条件的方法, 最近也在研习它, 虽然枯燥, 但仍有乐趣. 用它来判断一个双字节的中文字符也是轻而易举地. 而判断中文字符,  简单且执行效率高.
核心代码如下:
Code [http://www.xueit.com]

regExpForm.onblur=function(){ entryVal=this.value; entryLen=entryVal.length; cnChar=entryVal.match(/[^\x00-\x80]/g);//利用match方法检索出中文字符并返回一个存放中文的数组 entryLen =cnChar.length;//算出实际的字符长度 }

第二种方法是通过charCodeAt()方法判断Unicode码值, 若大于255即为中文字符, 它的执行效率没有正则高, 也没有正则简单.
核心代码如下:
Code [http://www.xueit.com]

entryVal=this.value; entryLen=entryVal.length; for(var i=0;i<entryVal.length;i ){ if(entryVal.charCodeAt(i)>255){//遍历判断字符串中每个字符的Unicode码,大于255则为中文 cnArr.push(entryVal[i]);//讲符合条件的值插入到中文字符数组中 //注意一个小bug,push是向数组的末尾添加一个或多个元素并返回新的长度,所以未刷新的情况下反复blur会累加字符值 } } entryLen =cnArr.length;

分享到:
评论

相关推荐

    区分中英文字符的两种方法(正则和charCodeAt())

    本文就将介绍两种区分中英文字符的方法: 利用正则和charCodeAt方法区分中英文字符. 区分中英文字符的两种方法: 正则和charCodeAt()方法@Mr.Think /*reset css*/ body{font-size:0.8em;letter-spacing:1px;font-...

    正则表达式

    如果想在正则表达式中使用特殊的标点符号,必须在它们之前加上一个 "\" . 2.字符类 将单独的直接符放进中括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配,所以正则表达式 / [abc] / 和字母 ...

    JS判断字符串长度的5个方法(区分中文和英文)

    目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下:String.prototype.gblen = function() { var len = 0; for (var i=0; i&lt;this&gt;127 || this.charCodeAt(i)==94) { len += 2; } else {...

    JavaScript charCodeAt方法入门实例(用于取得指定位置字符的Unicode编码)

    charCodeAt 方法用于从字符串中取得指定位置字符的 Unicode 编码。其语法如下: 代码如下: str_object.charCodeAt( x ) 参数说明: 参数 说明 str_object 要操作的字符串(对象) x 必需。表示位置的数字 ...

    javascript文档

    charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略...

    微软JavaScript手册

    charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略...

    javascript flash下fromCharCode和charCodeAt方法使用说明

    fromCharCode 方法 从一些 Unicode 字符值中返回一个字符串。 String.fromCharCode([code1[, code2[, …[, codeN]]]]) 参数 String 必选项。为 String 对象。 code1, . . . , codeN 可选项。是要转换为...

    JScript 语言参考

    charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略...

    指定特殊字符不能使用

    //指定的特殊字符写在这个数组里面,个数不限。 str = str.value; var numberCount = 0; var upperCaseCount = 0; var lowerCaseCount = 0; var otherCharCount = 0; var numberIndex = 0; ...

    js String对象中常用方法小结(字符串操作)

    结果:65 2、fromCharCode方法从一些Unicode字符串中返回一个字符串。 String.fromCharCode([code1[,code2…]]) 说明: code1,code2…是要转换为字符串的Unicode字符串序列。如果没有参数,结果为

    javascript语言参考+教程 CHM

    charCodeAt 方法; compile 方法; concat 方法 (Array); concat 方法 (String); cos 方法; decodeURI 方法; decodeURIComponent 方法; dimensions 方法; encodeURI 方法; encodeURIComponent 方法; escape ...

    fromCharCode和charCodeAt 方法

    从一些 Unicode 字符值中返回一个字符串。 String.fromCharCode([code1[, code2[, …[, codeN]]]]) 参数 String 必选项。为 String 对象。 code1, . . . , codeN 可选项。是要转换为字符串的 Unicode ...

    Javascript 常用函数

    charCodeAt 方法 返回指定字符的 Unicode 编码。 compile 方法 将一个正则表达式编译为内部格式。 concat 方法(Array) 返回一个由两个数组合并组成的新数组。 concat 方法(String) 返回一个包含给定的两个...

    JavaSacript中charCodeAt()方法的使用详解

    该方法返回一个数字,表示给定索引处的字符的Unicode值。 Unicode码点范围为0到1114111。前128个Unicode码点的ASCII字符编码的直接匹配。charCodeAt()将始终返回一个值小于65,536。 语法 string.charCodeAt(index);...

    JavaScript笔记

    |--js中正则表达式语法:/正则表达式/[属性后缀]--其中属性后缀,g:全局匹配 i:忽略大小写(仅英文有效) 如果不适用模式匹配方式,将执行原文匹配 结果:如果正则表达式写错,也将执行原文匹配 12.Array笔试题...

    JavaScript将字符串转换成字符编码列表的方法

    本文实例讲述了JavaScript将字符串转换成字符编码列表的方法。分享给大家供大家参考。具体如下: JavaScript将字符串转换成字符编码列表,例如foo转换成 [112,111,111] 方法 1: JavaScript 1.6 Array.map('foo', ...

    JavaScript字符串常用类使用方法汇总

    charCodeAt : 获取字符串中指定位置上字符的Unicode编码(参数: 一个,指定要获取字符编码的字符位置) 1,任何字符都有一个唯一的字符编码。 2,只接收一个参数。  常用:  数字 : 48 ~ 57  下划线 : 95  ...

Global site tag (gtag.js) - Google Analytics