- <script language=< span="">"javascript">
- 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個漢字。
- </script>
javascript 判斷中文字符長度
js 代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.