2011年10月27日 星期四

[javascript].判斷中文字的個數.(chineseCount)

客戶有一個需求: 要求使用者必需在 "姓名" 欄位裡輸入2個字以上的中文字.

google 了一下, 有3個解法, 資料來源:
http://blog.wu-boy.com/2009/01/javascript%E5%88%A4%E6%96%B7%E4%B8%AD%E6%96%87%E5%85%A8%E5%BD%A2%E5%AD%97%E6%95%B8%E6%9C%89%E5%B9%BE%E5%80%8B/


emome 的解法, 需要多 include 一個 js 檔, 所以先跳過,
我最後是使用的是 toshii 的 解法:

function chineseCount(word){
var v=0;
for(cc=0;cc < word.length;cc++){
c = word.charCodeAt(cc);
if (!(c >=32 && c <= 126)) v++;
}
return v;
}

我本來是比較偏向使用 regular pattern 的寫法,
沒有用的原因是 pattern 的寫法在 big5 編碼的網頁下,
似乎 unicode 的判斷會不正確, 固定都只傳回 0;

沒有留言:

張貼留言

Facebook 留言板