这是我在这里发表的第一篇文章,我试图查看论坛,但我很困惑......我试图验证名字,目前我的代码是这样的:< / p>
if(!preg_match("/^[a-zA-ZÀÁÂÄÆÃÅĀàáâäæãåāÈÉÊËĒĖĘèéêëēėęÎÏÍĪĮÌîïíīįìÔÖÒÓŒØŌÕôöòóœøōõÛÜÙÚŪûüùúūŸÿŚŠßśšŁłŽŹŻžźżzÇĆČçćčÑŃñń]*$/u", $fname))
{echo 'error';}
正如你所看到的那样我试图将所有特殊字符包含在口音等中......我有2个问题...首先我不明白为什么我在测试时仍然会出错特殊的性格,似乎只有a-zA-Z的范围有效,但我不知道我的错误在哪里...... 第二,我觉得使用如此长的表达方式是如此愚蠢,所以也许有人知道如何使这简单和更短的希望?
答案 0 :(得分:1)
如果你只想允许来自所有带有各种口音的剧本的字母,那就很简单了:
^\p{L}+$
Demo。 \p{L}
表示来自任何语言的任何类型的信件。
但这是一个坏主意。真的。不要验证名称,因为你真的不能做任何事情。阅读这篇文章:Falsehoods Programmers Believe About Names以了解原因。