2016-05-17 35 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在评论中说。

相关问题