2012-12-02 30 views
-2

我如何編輯這個也接受æøåÆØÅ?regexp包含æøåÆÅÅ也

function validate_username($input, $pattern = '/[^A-Za-z0-9]/') 
{ 
    return !preg_match($pattern, $input); 
} 

回答

4
'/[^A-Za-z0-9æøåÆØÅ]/u' 

要求你的PHP文件保存在UTF-8,也即輸入的是UTF-8,以及課程。

+1

UTF-8不是必需的;也可以與包含這些字符的任何其他字符集/編碼一起使用。 – Gumbo

+1

@Gumbo只有當你刪除'u'-flag。使用'u'-flag必須是UTF-8,如果UTF-8字節無效並且有'u'-flag,則該模式不會編譯。 – Esailija

0
function validate_username($input, $pattern = '/^\w+$/') 
{ 
    return preg_match($pattern, $input); 
} 
0

嘗試:

'/[^\p{L}\d]/u' 

\p{L}匹配所有Unicode字母,包括那些沒有造成麻煩你還沒有,你已經上市很多,但可能會導致一些日子。

\d也匹配所有數字,包括不同腳本中的unicode數字。

+0

你需要'u'標誌才能工作。 – Esailija

+0

@Esailija謝謝,修復它。 –

相關問題