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


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学习笔记9 prototype封装继承
Jan 11 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
javascript打开word文档的方法
Apr 16 Javascript
DOM 高级编程
May 06 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
Jul 11 Javascript
浅谈箭头函数写法在ReactJs中的使用
Aug 22 Javascript
详解JavaScript中的六种错误类型
Sep 21 Javascript
jQuery Dom元素操作技巧
Feb 04 jQuery
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
Apr 12 Javascript
js中this的指向问题归纳总结
Nov 28 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 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
MYSQL数据库初学者使用指南
2006/11/16 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
JS Array对象入门分析
2008/10/30 Javascript
提高网站性能之 如何对待JavaScript
2009/10/31 Javascript
再论Javascript下字符串连接的性能
2011/03/05 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
python购物车程序简单代码
2018/04/18 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
python和opencv构建运动检测器的实现
2021/03/03 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
以太网Ethernet IEEE802.3
2013/08/05 面试题
关于是否需要写商业计划书
2014/02/07 职场文书
倡议书范文
2014/04/16 职场文书
环保倡议书500字
2014/05/15 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
JavaScript函数柯里化
2021/11/07 Javascript
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏