2011-04-24 19 views
0

我正在構建一個註冊表單,並希望用戶使用UTF-8字符註冊其他語言。目前我正在使用此正則表達式驗證用戶名和電子郵件字段:用戶名和郵件的UTF-8字符串驗證?

!/^[0-9A-Za-z_]+$/ 但是,這不適用於UTF-8字符。

我能做些什麼來驗證'Bob','我是貓'等...?

子問題: UTF-8電子郵件地址是否存在?例如:我是貓@yahoo.cn

+2

爲什麼你需要驗證它們?你在預防什麼? – SLaks 2011-04-24 20:51:35

+0

非法字符?太短/太長?無效的電子郵件地址?通常的驗證... – Alex 2011-04-24 20:55:00

+0

什麼字符是非法的?檢查長度。使用真正的電子郵件地址解析器,而不是正則表達式。 – SLaks 2011-04-24 20:56:23

回答

1

如果你想知道一個字符串是否是UTF-8則可以使用

mb_detect_encoding或者是一些iconv弄虛作假

從以往的經驗我知道編碼是一個死亡陷阱。保持距離:D

驗證電子郵件地址也很煩人。除非你絕對需要,我建議你只做一個簡單的檢查:是否有和@和a。 。

真正驗證電子郵件是否存在的唯一方法是發送確認鏈接或類似的東西。