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()方法@Mr.Think /*reset css*/ body{font-size:0.8em;letter-spacing:1px;font-...
如果想在正则表达式中使用特殊的标点符号,必须在它们之前加上一个 "\" . 2.字符类 将单独的直接符放进中括号内就可以组合成字符类.一个字符类和它所包含的任何一个字符都匹配,所以正则表达式 / [abc] / 和字母 ...
目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: 代码如下:String.prototype.gblen = function() { var len = 0; for (var i=0; i<this>127 || this.charCodeAt(i)==94) { len += 2; } else {...
charCodeAt 方法用于从字符串中取得指定位置字符的 Unicode 编码。其语法如下: 代码如下: str_object.charCodeAt( x ) 参数说明: 参数 说明 str_object 要操作的字符串(对象) x 必需。表示位置的数字 ...
charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略...
charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略...
fromCharCode 方法 从一些 Unicode 字符值中返回一个字符串。 String.fromCharCode([code1[, code2[, …[, codeN]]]]) 参数 String 必选项。为 String 对象。 code1, . . . , codeN 可选项。是要转换为...
charCodeAt 方法 返回指定字符的 Unicode 编码。 逗号运算符 (,) 使两个表达式连续执行。 /*..*/ (多行注释语句) 使多行注释部分被 JScript 语法分析器忽略。 注释语句 - 单行(//) 使 JScript 语法分析器忽略...
//指定的特殊字符写在这个数组里面,个数不限。 str = str.value; var numberCount = 0; var upperCaseCount = 0; var lowerCaseCount = 0; var otherCharCount = 0; var numberIndex = 0; ...
结果:65 2、fromCharCode方法从一些Unicode字符串中返回一个字符串。 String.fromCharCode([code1[,code2…]]) 说明: code1,code2…是要转换为字符串的Unicode字符串序列。如果没有参数,结果为
charCodeAt 方法; compile 方法; concat 方法 (Array); concat 方法 (String); cos 方法; decodeURI 方法; decodeURIComponent 方法; dimensions 方法; encodeURI 方法; encodeURIComponent 方法; escape ...
从一些 Unicode 字符值中返回一个字符串。 String.fromCharCode([code1[, code2[, …[, codeN]]]]) 参数 String 必选项。为 String 对象。 code1, . . . , codeN 可选项。是要转换为字符串的 Unicode ...
charCodeAt 方法 返回指定字符的 Unicode 编码。 compile 方法 将一个正则表达式编译为内部格式。 concat 方法(Array) 返回一个由两个数组合并组成的新数组。 concat 方法(String) 返回一个包含给定的两个...
该方法返回一个数字,表示给定索引处的字符的Unicode值。 Unicode码点范围为0到1114111。前128个Unicode码点的ASCII字符编码的直接匹配。charCodeAt()将始终返回一个值小于65,536。 语法 string.charCodeAt(index);...
|--js中正则表达式语法:/正则表达式/[属性后缀]--其中属性后缀,g:全局匹配 i:忽略大小写(仅英文有效) 如果不适用模式匹配方式,将执行原文匹配 结果:如果正则表达式写错,也将执行原文匹配 12.Array笔试题...
本文实例讲述了JavaScript将字符串转换成字符编码列表的方法。分享给大家供大家参考。具体如下: JavaScript将字符串转换成字符编码列表,例如foo转换成 [112,111,111] 方法 1: JavaScript 1.6 Array.map('foo', ...
charCodeAt : 获取字符串中指定位置上字符的Unicode编码(参数: 一个,指定要获取字符编码的字符位置) 1,任何字符都有一个唯一的字符编码。 2,只接收一个参数。 常用: 数字 : 48 ~ 57 下划线 : 95 ...