正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度


Posted in Javascript onSeptember 27, 2008

判断是否存在中文和全角字符

str.match(/[^\x00-\xff]/ig)

判断包含中文字符串长度
aMatch=str.match(/[^\x00-\x80]/g);

str.length+(!aMatch?0:aMatch.length)

javascript 判断中文字符长度

一种:

function _length(str){ 
var len=0; 
for(var i=0;i<str.length;i++){ 
if(str.charAt(i)>'~'){len+=2;}else{len++;} 
} 
return len; 
}

二种:
String.prototype.gblen = function() { 
var len = 0; 
for (var i=0; i<this.length; i++) { 
if (this.charCodeAt(i)>127 || 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; i<this.length; i++) { 
if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) { 
len2 += 2; 
} else { 
len2 ++; 
} 
} 
if (len2 <= len) { 
return this; 
} 
len2 = 0; 
len = (len > sp.length) ? len-sp.length: len; 
for (var i=0; i<this.length; i++) { 
if (this.charCodeAt(i)>127 || 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) = '+ 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个汉字。
Javascript 相关文章推荐
用js实现的页面关键字密度查询代码
Dec 27 Javascript
js获取div高度的代码
Aug 09 Javascript
JS 进度条效果实现代码整理
May 21 Javascript
谈一谈javascript闭包
Jan 28 Javascript
javascript模块化简单解析
Apr 07 Javascript
jQuery插件扩展extend的简单实现原理
Jun 24 Javascript
angular学习之从零搭建一个angular4.0项目
Jul 10 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
Vue+Vux项目实践完整代码
Nov 30 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 Javascript
使vue实现jQuery调用的两种方法
May 12 jQuery
vue 解决数组赋值无法渲染在页面的问题
Oct 28 Javascript
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
Sep 26 #Javascript
验证用户是否修改过页面的数据的实现方法
Sep 26 #Javascript
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
Sep 25 #Javascript
js每次Title显示不同的名言
Sep 25 #Javascript
Js动态创建div
Sep 25 #Javascript
自己开发Dojo的建议框架
Sep 24 #Javascript
Discuz! 6.1_jQuery兼容问题
Sep 23 #Javascript
You might like
php intval的测试代码发现问题
2008/07/27 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
Wordpress ThickBox 点击图片显示下一张图的修改方法
2010/12/11 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
详解VUE 数组更新
2017/12/16 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python视频按帧截取图片工具
2019/07/23 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
基于Python测试程序是否有错误
2020/05/16 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
澳大利亚牛仔裤商店:Just Jeans
2016/10/13 全球购物
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
小学毕业家长寄语
2014/01/19 职场文书
美术教学感言
2014/02/22 职场文书
夜不归宿检讨书
2014/02/25 职场文书
竞选部长演讲稿
2014/04/26 职场文书
生产助理岗位职责
2014/06/18 职场文书
2014年团支部工作总结
2014/11/17 职场文书