PHP:preg_match()

时间:2015-03-24 22:50:55

标签: php regex validation preg-match special-characters

这是我在这里发表的第一篇文章,我试图查看论坛,但我很困惑......我试图验证名字,目前我的代码是这样的:< / p>

if(!preg_match("/^[a-zA-ZÀÁÂÄÆÃÅĀàáâäæãåāÈÉÊËĒĖĘèéêëēėęÎÏÍĪĮÌîïíīįìÔÖÒÓŒØŌÕôöòóœøōõÛÜÙÚŪûüùúūŸÿŚŠßśšŁłŽŹŻžźżzÇĆČçćčÑŃñń]*$/u", $fname))
{echo 'error';}

正如你所看到的那样我试图将所有特殊字符包含在口音等中......我有2个问题...首先我不明白为什么我在测试时仍然会出错特殊的性格,似乎只有a-zA-Z的范围有效,但我不知道我的错误在哪里...... 第二,我觉得使用如此长的表达方式是如此愚蠢,所以也许有人知道如何使这简单和更短的希望?

1 个答案:

答案 0 :(得分:1)

如果你只想允许来自所有带有各种口音的剧本的字母,那就很简单了:

^\p{L}+$

Demo\p{L}表示来自任何语言的任何类型的信件

但这是一个坏主意。真的。不要验证名称,因为你真的不能做任何事情。阅读这篇文章:Falsehoods Programmers Believe About Names以了解原因。