作者JYHuang (夏天到了,冷不起來了說)
看板Ajax
標題[問題] 用正規化判斷中文的問題
時間Tue Jul 13 16:45:08 2010
從網路上找來的例子要判斷是否為中文的話
要用str.match(
/^[^\x00-\xff]{0,5}$/gi) (資料庫限定10bit..所以是五個中文字元)
可是我又想讓10個英文字元也被接受
所以改成了
str.match(
/(^[^\x00-\xff]{0,5}$|^.{0,10}$)/gi)
結果這樣變成了10個英文字能過
中文字數卻不被限制了 @.@
要怎麼設成 只限 0~5個中文字 或 0~10個字文字呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.172.7
1F:推 s25g5d4:/^[^\x00-\xff]{0,10}$/gi 07/13 16:50
2F:→ s25g5d4:我有點不太懂你的意思 限0~5個字 代表1~6也可以對應 07/13 16:51
3F:→ s25g5d4:我有點不太懂你的意思 限0~5個字 代表1~4也可以對應 07/13 16:51
4F:→ s25g5d4:限0~10個字 代表1~9個字也可以對應 那這樣不就跟限0~5衝到 07/13 16:52
5F:→ s25g5d4:阿我眼殘看錯 抱歉 07/13 16:52
6F:推 s25g5d4:因為你用.的關係 .也會match到中文字 07/13 16:58
7F:→ s25g5d4:^[^\x00-\xff]{0,5}$|^\w{0,10}$ 07/13 16:59
8F:→ s25g5d4:\w 可以match到A-Z a-z 0-9和底線 07/13 17:00
9F:→ s25g5d4:如果要純英文請用[A-Za-z] 07/13 17:01
10F:→ JYHuang:還是放棄...直接獨立出來算好了 (太懶是不行的~~ 07/13 17:09