允许任何语言的字母(如“ñ”)的正则表达式

2024-01-10

尝试让用户使用其他语言(例如西班牙语或法语)中的特殊字符。我原来有这个:

 "/[^A-Za-z0-9\.\_\- ]/i" 

然后将其更改为

 "/[^\p{L}\p{N}\.\_\-\(\) ]/i" 

但仍然不起作用。应允许使用诸如“ñ”之类的字母。谢谢。

修订: 我发现在开头加上(*UTF8)有助于解决问题。所以我使用以下代码:“/(*UTF8)[^\p{L}A-Za-z0-9._- ]/i”

修订: 查看答案后,我决定使用:“/[^\p{Xwd}.-]/u”。谢谢(即使使用中文字母也可以。


对于拉丁语言,您可以使用\p{Latin}字符类:

/[^\p{Latin}0-9._ -]/u

但如果您想要所有其他字母和数字:

/[^\p{Xwd}. -]/u

“u”修饰符指示该字符串必须作为 unicode 字符串读取。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

允许任何语言的字母(如“ñ”)的正则表达式 的相关文章