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


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 相关文章推荐
js 单击式的下拉菜单效果实例
Aug 13 Javascript
css样式标签和js语法属性区别
Nov 06 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
实例解析jQuery工具函数
Dec 01 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
bootstrap daterangepicker汉化以及扩展功能
Jun 15 Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
Oct 21 Javascript
Vue请求java服务端并返回数据代码实例
Nov 28 Javascript
vuex的使用步骤
Jan 06 Vue.js
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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
NodeJS中Buffer模块详解
2015/01/07 NodeJs
使用jquery制作弹出框效果
2015/04/03 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
利用Python开发实现简单的记事本
2016/11/15 Python
python实现机器人行走效果
2018/01/29 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
师德建设实施方案
2014/03/21 职场文书
文化活动实施方案
2014/03/28 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
爱我中华演讲稿
2014/05/20 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
离婚协议书格式范本
2016/03/18 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
Node.js实现断点续传
2021/06/23 Javascript