yam 蕃薯藤
天空部落
  • 網誌
  • 相簿
  • 影音
  • 夯集
  • PK吧!
  • 揪便宜
  • i鬥圖
  • la zorza
  • 買房子
新聞
  • 即時新聞
  • 影音新聞
  • 新聞專輯
  • 政治新聞
  • 財經新聞
  • 娛樂新聞
  • 運動新聞
  • 兩岸新聞
  • 科技新聞
註冊 登入
夯集
隨便逛
  • 正妹
  • 熱門
  • 網誌
  • 旅遊/攝影
  • 愛情/交友
  • 親子/教育
  • 美食/休閒
  • 設計/創作
  • 家族/同好
  • 影視/音樂
  • 社會/人文
  • 時尚/美容
  • 寵物/生活
  • 工作/職場
  • 科技/金融
  • 運動/健康
  • 交通/運輸
  • 相簿
  • COSPLAY
  • 布袋戲迷
  • 電玩漫畫
  • 女生照片
  • 藝術寫真
  • 攝影作品
  • 男生照片
  • 影視娛樂
  • 大眼小布
  • 情侶拍拍
  • 旅遊紀錄
  • 朋友團體
  • 人文藝術
  • more...
推薦這個部落格: 387

A HA! 心情雜物間

專供個人碎碎念的心得小屋,或是好物分享~~ ^_^

近日發現有色情業者留言洗版的狀況發生,一經發現,留言立刪。

日記 |網誌 |相簿 |好友 |留言板
[CSS] 強迫斷行 | 主頁 | Batch script on Linux -- sh (Shell Script)
June 10, 2009
判斷中文字數以文找文
csylvia 在天空部落發表於14:48:07 | JavaScript
 

在 javascript 中,常常會用 string.length 來判斷字串長度,
其真正是以「字數」為主,
不會因為 ASCII 或 UNICODE 而有差別。

也就是說「Hello」的值就是5,
「你好」的值就是2,不會變成4。


這樣當然是好事,
但現在有個需求是希望依據字的長度做切割,
避免字太長撐開原有版型;
然而如果依據「string.length」來判斷的話,
會發現

1234567890
一二三四五六七八九十

同樣得到的長度是 10,但實際寬度差很多。

這時候要算的就是 Byte 數。

網路上談論這個的文章很多,
特別推薦「[javascript]判斷中文全形字數有幾個」這篇,
介紹了三種計算方式,截錄如下:

 

一、使用 regular pattern

// \u4E00-\u9fa5 比對中文字
return word.split(/[\u4e00-\u9a05]/).length -1;

// [^\x00-\xff] 比對 UNICODE 字元
var arr = string.match(/[^\x00-\xff]/ig);  
return arr == null ? string.length : string.length + arr.length;

 

來自「Simple Thoughts on Everything: 用Regular Expression去檢查特殊文字」的好資料: 

\u0800-\u4E00 (日文)
\u4E00-\u9fa5 (中文)
\u9fa5-\uFFFF (韓文或其他)
\u0080-\uFFFF 中日韓3byte以上的字符
\uFE30-\uFFA0 全型符號

 

二、使用 charCodeAt

for( i=0; i<string.length; i++ ){
         c = string.charCodeAt(i);
         if ( !( c>=32 && c<=126 ) )
                   iCount++;
}
return iCount;


// 這是我寫的,可以算 total bytes
// 不過沒測過多國語系~~XDb

for( i=0; i<string.length; i++ ) {
     c = string.charCodeAt( i );
     if( c <= 0x7f ) {
             iCount++;
     }
    else {
             iCount += 2;
     }
}
return iCount;

 

 

 

  • [javascript]判斷中文全形字數有幾個 | 小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY
  • 請問中文字位元數判斷
  • 利用Byte單位來計算字串長度的幾種做法(Javascript,C#,VB.Net) - F6 Team- 點部落
  • Simple Thoughts on Everything: 用Regular Expression去檢查特殊文字

 

留言 (1) | 引用 (0) | 人氣 () | 轉寄 | 檢舉
此分類上一篇:Communication between opener and subwin | 主頁 | 此分類下一篇:window.open with fullscreen
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (1筆)
1.
中文字元判斷是不是big5跟utf8又有些不一樣,utf8一個中文好像3bits , 搞這些真頭痛
但最近得用<a href="http://tw.yahoo.com">到</a>.
板主回覆:
喔?是這樣啊?@@

這的確會搞得很頭痛哪~~><
小阿魯 於 Sep 10, 2010 留言 |

發表你的留言 (字數限制 最多 2000 個中文字)
私密留言: 是 否
Name:



是 否
內容:
檢視行動版網頁  |  檢視正常版網頁
系統公告
熱情贊助
系統工具

Sylvia 小檔案
個人圖檔
ID:csylvia
暱稱:Sylvia
地區:臺北市
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

文章分類
  • 語言筆記 (3)
    • 其他語言 (2)
    • 日文 (6)
    • 英文 (19)
  • 創作欣賞 (7)
    • 文章 (1)
    • 設計 (2)
    • 毛線球 (2)
    • CG (8)
    • 不織布 DIY (5)
    • 串珠飾品 (12)
    • 其他創作 (1)
  • 電視影集 (3)
    • 紀錄片/連續劇 (11)
    • 經典影集 (14)
    • 綜藝節目 (7)
  • 科技資訊 (20)
    • AJAX (42)
    • C/C++ (61)
    • WM5.0 (26)
    • Code::Blocks 相關 (29)
    • Symbian (26)
    • JAVA (8)
    • ActiveX (25)
    • Database (7)
    • ASP (9)
    • AIR (2)
    • JavaScript (36)
    • FLASH (15)
    • 網頁相關 (13)
    • PHP (5)
    • Batch File (9)
    • VLC (15)
    • Linux 相關 (3)
    • 其他 (38)
    • Install (2)
    • SOAP (1)
  • 動漫遊戲 (3)
    • 其他動漫 (1)
    • 日本動漫 (22)
    • 西洋動漫 (9)
  • 生活資訊 (6)
    • 飲食美味 (2)
    • 美容美髮 (6)
    • 體操按摩 (5)
    • 有用資訊 (11)
    • 螢養保健 (11)
    • 小辭典 (13)
  • 資源連結 (4)
    • 介紹&推薦 (45)
    • BLOG小玩意 (44)
    • 噗浪 (9)
    • 資源整理 (12)
  • 真人電影 (4)
    • 東洋電影 (2)
    • 國片電影 (5)
    • 電影介紹&推薦 (20)
    • 西洋電影 (35)
  • Amway (3)
    • 其他筆記 (4)
    • 教室課程 (4)
    • 紀錄 (3)
  • 個人記事 (6)
  • 書籍藝文 (39)
  • 話題探討 (30)
  • 烹飪學習簿 (0)
  • @ (0)
csylvia的最新的回應
  • 路人:
    你好:) ...
  • simth:
    綠林的電子書不錯,...
  • 匿名:
    您好,我們是愛閱二手書...
  • clive:
    謝謝您呀!最近也在尋找...
  • 匿名:
    您好,我們是愛閱二手書...
  • Joyce:
    私密留言
  • ronaldochow2011:
    喜迎回訪小弟的blog...
  • A-HA:
    哈,胡言亂語~不懂的,...
  • 【無米樂】導演徵求宣傳義勇軍:
    各位兄弟姐妹 大家好:...
  • 欣:
    不好意思版大再請教一些...
網站集結
aNobii 書櫃
天氣
珍惜台灣
台灣是我的國家
台灣貨‧暢其流
天下雜誌綠色行動4力串聯貼紙

該推就是要推
禁虐



搶救生命 棄兒不捨!
天下雜誌台灣不願面對的真相貼紙



Chine Free

力挺泰山串聯貼紙
RANKING
Google PageRank Checker



Free PageRank Meter for blog.webs-tv.net/csylvia
RSS 訂閱


人氣指數
當日人次:
累積人次:
網誌搜尋
搜尋:
參觀者
RSS 訂閱
RSS2
ATOM
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空部落 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊