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


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 相关文章推荐
Javascript 文件夹选择框的两种解决方案
Jul 01 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
May 10 Javascript
node.js中的fs.existsSync方法使用说明
Dec 17 Javascript
浏览器中url存储的JavaScript实现
Jul 07 Javascript
jQuery改变form表单的action,并进行提交的实现代码
May 25 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
vue页面使用阿里oss上传功能的实例(一)
Aug 09 Javascript
HTML5开发Kinect体感游戏的实例应用
Sep 18 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
Dec 19 Javascript
Vue项目中设置背景图片方法
Feb 21 Javascript
微信web端后退强制刷新功能的实现代码
Mar 04 Javascript
详细分析JavaScript中的深浅拷贝
Sep 17 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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
smarty的保留变量问题
2008/10/23 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
php抽象类用法实例分析
2015/07/07 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
JavaScript单元测试ABC
2012/04/12 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
从零学python系列之新版本导入httplib模块报ImportError解决方案
2014/05/23 Python
python正则表达式re模块详解
2014/06/25 Python
python3使用scrapy生成csv文件代码示例
2017/12/28 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
Python 3 判断2个字典相同
2019/08/06 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
国贸专业个人求职信分享
2013/12/04 职场文书
影视动画专业个人的自我评价
2013/12/31 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
刑事和解协议书范本
2014/11/19 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书