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


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判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
Oct 15 Javascript
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
JavaScript中对象property的删除方法介绍
Dec 30 Javascript
跟我学习javascript的循环
Nov 18 Javascript
Bootstrap菜单按钮及导航实例解析
Sep 09 Javascript
Bootstrap table表格简单操作
Feb 07 Javascript
微信小程序 图片宽高自适应详解
May 11 Javascript
angular使用post、get向后台传参的问题实例
May 27 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
Apr 14 Javascript
一篇文章看懂JavaScript中的回调
Jan 05 Javascript
html中两种获取标签内的值的方法
Jun 16 jQuery
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
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
删除数组元素实用的PHP数组函数
2008/08/18 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
python如何实现反向迭代
2018/03/20 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
python调用webservice接口的实现
2019/07/12 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
毕业生大学生活自我总结
2014/01/31 职场文书
培训科主任岗位职责
2014/08/08 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
pytorch 使用半精度模型部署的操作
2021/05/24 Python
52条SQL语句教你性能优化
2021/05/25 MySQL
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android