javascript判断中文字符长度的函数代码

上传人:鲁** 文档编号:498707051 上传时间:2023-06-29 格式:DOCX 页数:5 大小:14.26KB
返回 下载 相关 举报
javascript判断中文字符长度的函数代码_第1页
第1页 / 共5页
javascript判断中文字符长度的函数代码_第2页
第2页 / 共5页
javascript判断中文字符长度的函数代码_第3页
第3页 / 共5页
javascript判断中文字符长度的函数代码_第4页
第4页 / 共5页
javascript判断中文字符长度的函数代码_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《javascript判断中文字符长度的函数代码》由会员分享,可在线阅读,更多相关《javascript判断中文字符长度的函数代码(5页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 首先,我们定义一个新的函数getBytes()取得字符串的字节数,在javascript里,这个函数是标准函数。 复制代码 代码如下:String.prototype.getBytes = function() var cArr = this.match(/x00-xff/ig); return this.length + (cArr = null ? 0 : cArr.length); function paramCheck(cur) if(cur.value.getBytes() 64) alert(字符超过64个字符); return fa

2、lse; return true; getBytes用正则表达式来判断字符串中包含汉字的个数,包含的汉字都放到数组cArr中,这样cArr的长度就是汉字的总数。getBytes方法返回length加上汉字数,就是总的字节数。 只是使用了x00-xff,这个有点恶心,有些特殊字符也是能匹配到的,比如等。 但是如果使用u4E00-u9FA5的话,却不能匹配到中文以下是另外几种方法,大家可以测试下:一种: 复制代码 代码如下:function _length(str) var len=0; for(var i=0;i)len+=2;elselen+; return len; 二种: 复制代码 代码如

3、下:String.prototype.gblen = function() var len = 0; for (var i=0; i127 | this.charCodeAt(i)=94) len += 2; else len +; return len; String.prototype.gbtrim = function(len, s) var str = ; var sp = s | ; var len2 = 0; for (var i=0; i127 | this.charCodeAt(i)=94) len2 += 2; else len2 +; if (len2 sp.length)

4、 ? len-sp.length: len; for (var i=0; i127 | this.charCodeAt(i)=94) len2 += 2; else len2 +; if (len2 len) str += sp; break; str += this.charAt(i); return str; var str1 = 世上最牛的#%&们 世上最牛的#%&们; document.write(str1 = + str1 + ); document.write(length = + str1.gblen() + ); document.write(gbtrim(10) = + st

5、r1.gbtrim(10) + ); document.write(gbtrim(10, ) = + str1.gbtrim(10, ) + ); document.write(gbtrim(12, - ) = + str1.gbtrim(12, -) + ); / gbtrim(len 截取长度,按英文字节长度计算, s截取后的省略字符,如 ) / 备注: 这里中文字符都是当作两个长度来计算的,所以gbtrim中的len为10时,是显示最多5个汉字的。 / 当汉字数大于5时,由于截取后加上“”,所以只显示4个汉字。 首先,我们定义一个新的函数getBytes()取得字符串的字节数,在java

6、script里,这个函数是标准函数。 复制代码 代码如下:String.prototype.getBytes = function() var cArr = this.match(/x00-xff/ig); return this.length + (cArr = null ? 0 : cArr.length); function paramCheck(cur) if(cur.value.getBytes() 64) alert(字符超过64个字符); return false; return true; getBytes用正则表达式来判断字符串中包含汉字的个数,包含的汉字都放到数组cArr中

7、,这样cArr的长度就是汉字的总数。getBytes方法返回length加上汉字数,就是总的字节数。 只是使用了x00-xff,这个有点恶心,有些特殊字符也是能匹配到的,比如等。 但是如果使用u4E00-u9FA5的话,却不能匹配到中文以下是另外几种方法,大家可以测试下:一种: 复制代码 代码如下:function _length(str) var len=0; for(var i=0;i)len+=2;elselen+; return len; 二种: 复制代码 代码如下:String.prototype.gblen = function() var len = 0; for (var i=

8、0; i127 | this.charCodeAt(i)=94) len += 2; else len +; return len; String.prototype.gbtrim = function(len, s) var str = ; var sp = s | ; var len2 = 0; for (var i=0; i127 | this.charCodeAt(i)=94) len2 += 2; else len2 +; if (len2 sp.length) ? len-sp.length: len; for (var i=0; i127 | this.charCodeAt(i)

9、=94) len2 += 2; else len2 +; if (len2 len) str += sp; break; str += this.charAt(i); return str; var str1 = 世上最牛的#%&们 世上最牛的#%&们; document.write(str1 = + str1 + ); document.write(length = + str1.gblen() + ); document.write(gbtrim(10) = + str1.gbtrim(10) + ); document.write(gbtrim(10, ) = + str1.gbtrim(10, ) + ); document.write(gbtrim(12, - ) = + str1.gbtrim(12, -) + ); / gbtrim(len 截取长度,按英文字节长度计算, s截取后的省略字符,如 ) / 备注: 这里中文字符都是当作两个长度来计算的,所以gbtrim中的len为10时,是显示最多5个汉字的。 / 当汉字数大于5时,由于截取后加上“”,所以只显示4个汉字。 /

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号