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


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 相关文章推荐
jQuery select操作控制方法小结
May 26 Javascript
关于div自适应高度/左右高度自适应一致的js代码
Mar 22 Javascript
商城常用滚动的焦点图效果代码简单实用
Mar 28 Javascript
jQuery输入城市查看地图使用介绍
May 08 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
Aug 23 Javascript
Jquery中的层次选择器与find()的区别示例介绍
Feb 20 Javascript
Js实现网页键盘控制翻页的方法
Oct 30 Javascript
jQuery实现带动画效果的二级下拉导航方法
Mar 11 Javascript
JQuery自动触发事件的方法
Jun 13 Javascript
AngularJS基础 ng-show 指令简单示例
Aug 03 Javascript
基于jQuery实现挂号平台首页源码
Jan 06 jQuery
基于JavaScript实现省市联动效果
Jun 22 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中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
2019/02/13 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
JavaScript 学习历程和心得分享
2010/12/12 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
2013/12/24 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
简述JS控制台的使用
2018/07/15 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
Python快速从注释生成文档的方法
2016/12/26 Python
使用python实现链表操作
2018/01/26 Python
python实现雨滴下落到地面效果
2018/06/21 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
pandas apply多线程实现代码
2020/08/17 Python
python实现网页录音效果
2020/10/26 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
财务会计实习报告体会
2013/12/20 职场文书
安全生产活动月方案
2014/03/09 职场文书
文艺晚会策划方案
2014/06/11 职场文书
医学求职自荐信
2014/06/21 职场文书
关于车尾的标语大全
2015/08/11 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript