看板 Ajax 關於我們 聯絡資訊
※ 引述《toshii (用了十年的暱稱要改一下!)》之銘言: : 假如某一字串中有阿拉伯數字,有英文,有中文,或特殊符號 : HTML或Javascript語法有比較快的方法算出其中有幾個是中文字嗎? : 我能想到方法只有creat一個Array,裡面有 : 空白,0~9,a~z,A~Z,~!@$%...等等, : 每個字元都丟進去比,都不符合就當它是中文字 : 可是好像不是很理想..特殊符號很多 : 有其他方法嗎? 以下講的是 javascript 解. 有一個不算很完善 , 但是堪用的作法是用這個 regex pattern. [\u4e00-\u9a05] (從你的文章看來你不是很瞭解 regex , 非常建議你先瞭解這個字串專用的強大工具.) 你要「算出」有幾個中文字的話 , 簡單的作法是透過 split 看有幾個區隔. //先包裝成函式... function chineseCount(word){ return word.split(/[\u4e00-\u9a05]/).length -1; } var word="test中asd文asd字as到底asd有幾asd個?"; alert(chineseCount(word)); sample page: http://iis.tonyq.org/test/testChineseWord.html -- What do you want to have ? / What do you have? 從書本中,你可以發現我的各種興趣。 從CD中,你可以瞭解我所喜歡的偶像明星。 或許從文字你很難以瞭解一個人,但從物品可以。 My PPolis , My past. http://ppolis.tw/user/Tony -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 221.169.78.140 ※ 編輯: TonyQ 來自: 221.169.78.140 (01/21 09:59) ※ 編輯: TonyQ 來自: 221.169.78.140 (01/21 10:00)
ilwu:如果是要算雙字元文字的話,這個沒有辦法檢核全形的應數字喔 01/21 10:44
toshii:IE6.0好像不支援這個功能,firefox可以 01/21 10:54
TonyQ:人家都說要「中文字」了 , 中文字跟全形字不一樣吧.XDDD 01/21 11:31
TonyQ:咦 應該可以 我測一下... 01/21 11:32
TonyQ:我的ie6開測試頁一切正常啊 @@ 01/21 11:32
tomin:(筆記) 01/21 13:14
buganini:javascript不是用unicode在裝的嗎 應該沒有雙byte的問題 01/22 21:50
yzfr6:對電腦來說, 中文字跟全形字是一樣的 05/07 05:53
TonyQ:全形字當然是包含中文字,但是中文字卻不包含所有全形字。 03/01 22:06