2016-05-17 34 views
0

我有這樣的正則表達式:https://regex101.com/r/bM5sQ0/2只有在HTML5輸入形式匹配每一個Unicode字母

<input type="text" pattern="[\p{L}]+\s[\p{L}]+"> 

至極我嘗試匹配下面的文本模式:

Firstname Surname 
Fírstnámé Súrnámé 

而且dismatch這些行:

Firstname Surname000 
Fírstnámé Súrnámé000 

我想通過定義每個unicode字母來解決這個問題(如果某人不是匈牙利語,但波蘭語,德語,法語或西班牙語,而我沒有包括特殊字符?)。但是我的解決方案不起作用。

+1

據我所知,每個奇怪的字符都有一個unicode代碼。所以你必須比這更具體。現在我只能看到'/^\ D + $ /',即除數字以外的所有內容。看到這裏:https://regex101.com/r/zK0qA7/1 –

+1

謝謝! Köszi! :) – Lanti

回答

3

我可以很容易地告訴你爲什麼你的解決方案不起作用。如果你看一下在regex101.com的解釋,你會看到:

\p字符p字面上(區分大小寫)

{L}列表{L}字面上一個字符(區分大小寫)

匹配

JavaScript不支持構造\p{}。如果你真的希望他們支持它,我建議你嘗試這裏的解決方案:https://stackoverflow.com/a/8933546

如果你只是不喜歡數字,那麼你可以使用\D作爲tamas rev在評論中說。

相關問題