[問題] 用正規化判斷中文的問題

看板Ajax作者 (夏天到了,冷不起來了說)時間15年前 (2010/07/13 16:45), 編輯推噓2(208)
留言10則, 2人參與, 最新討論串1/1
從網路上找來的例子要判斷是否為中文的話 要用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

07/13 16:50, , 1F
/^[^\x00-\xff]{0,10}$/gi
07/13 16:50, 1F

07/13 16:51, , 2F
我有點不太懂你的意思 限0~5個字 代表1~6也可以對應
07/13 16:51, 2F

07/13 16:51, , 3F
我有點不太懂你的意思 限0~5個字 代表1~4也可以對應
07/13 16:51, 3F

07/13 16:52, , 4F
限0~10個字 代表1~9個字也可以對應 那這樣不就跟限0~5衝到
07/13 16:52, 4F

07/13 16:52, , 5F
阿我眼殘看錯 抱歉
07/13 16:52, 5F

07/13 16:58, , 6F
因為你用.的關係 .也會match到中文字
07/13 16:58, 6F

07/13 16:59, , 7F
^[^\x00-\xff]{0,5}$|^\w{0,10}$
07/13 16:59, 7F

07/13 17:00, , 8F
\w 可以match到A-Z a-z 0-9和底線
07/13 17:00, 8F

07/13 17:01, , 9F
如果要純英文請用[A-Za-z]
07/13 17:01, 9F

07/13 17:09, , 10F
還是放棄...直接獨立出來算好了 (太懶是不行的~~
07/13 17:09, 10F
文章代碼(AID): #1CF2UMlK (Ajax)
文章代碼(AID): #1CF2UMlK (Ajax)