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


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 相关文章推荐
utf8的编码算法 转载
Dec 27 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
Jun 16 Javascript
javascript 获取HTML DOM父、子、临近节点
Jun 16 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
Aug 22 Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 Javascript
canvas绘制环形进度条
Feb 23 Javascript
微信小程序自定义对话框弹出和隐藏动画
Jul 19 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
May 31 Javascript
JavaScript数组排序小程序实现解析
Jan 13 Javascript
VUE动态生成word的实现
Jul 26 Javascript
Element InputNumber计数器的使用方法
Jul 27 Javascript
JavaScript canvas实现文字时钟
Jan 10 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自定义函数之递归删除文件及目录
2010/08/08 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
浅谈php7的重大新特性
2015/10/23 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
Python 私有函数的实例详解
2017/09/11 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
软件测试题目
2013/02/27 面试题
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
本科毕业生自荐信
2014/05/26 职场文书
工作检讨书大全
2015/01/26 职场文书
怒海潜将观后感
2015/06/11 职场文书
爱国电影观后感
2015/06/19 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
学习《中小学教师职业道德规范》心得体会
2016/01/18 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang