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


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 相关文章推荐
Flash对联广告的关闭按钮讨论
Jan 30 Javascript
js实现在文本框光标处添加字符的方法介绍
Nov 24 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
理解javascript中的回调函数(callback)
Sep 02 Javascript
javascript控制台详解
Jun 25 Javascript
jQuery遮罩层效果实例分析
Jan 14 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 Javascript
javaScript产生随机数的用法小结
Apr 21 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
May 27 Javascript
nvm、nrm、npm 安装和使用详解(小结)
Jan 17 Javascript
JavaScript中构造函数与原型链之间的关系详解
Feb 25 Javascript
浅谈js中的bind
Mar 18 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新手上路(三)
2006/10/09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php实现通过ftp上传文件
2015/06/19 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python实现八大排序算法(1)
2017/09/14 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
django2笔记之路由path语法的实现
2019/07/17 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
金宝贝童装官网:Gymboree
2016/08/31 全球购物
城市轨道交通工程职业规划书范文
2014/01/18 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
课内比教学心得体会
2014/09/09 职场文书
受资助学生感谢信
2015/01/21 职场文书
生产实习心得体会范文
2016/01/22 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书