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


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 相关文章推荐
Java/JS获取flash高宽的具体方法
Dec 27 Javascript
28个常用JavaScript方法集锦
Jan 14 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
关于JavaScript的单双引号嵌套问题
Aug 20 Javascript
iframe高度自适应及隐藏滚动条的实例详解
Sep 29 Javascript
Javascript防止图片拉伸的自适应处理方法
Dec 26 Javascript
node.js自动上传ftp的脚本分享
Jun 16 Javascript
KOA+egg.js集成kafka消息队列的示例
Nov 09 Javascript
vue实现的双向数据绑定操作示例
Dec 04 Javascript
vue-cli3 从搭建到优化的详细步骤
Jan 20 Javascript
element form 校验数组每一项实例代码
Oct 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
php cookie名使用点号(句号)会被转换
2014/10/23 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
JQuery实现绚丽的横向下拉菜单
2013/12/19 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
用Python编写web API的教程
2015/04/30 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
分享vim python缩进等一些配置
2018/07/02 Python
python区块及区块链的开发详解
2019/07/03 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
python 实现控制鼠标键盘
2020/11/27 Python
香港No.1得奖零食网:香港零食大王
2016/07/22 全球购物
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
广州御银科技股份有限公司试卷(C++)
2016/11/04 面试题
陈安之励志演讲稿
2014/08/21 职场文书
高中同学会致辞
2015/08/01 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python
vue中 this.$set的使用详解
2021/11/17 Vue.js
python如何利用cv2.rectangle()绘制矩形框
2022/12/24 Python