2014-03-13 56 views
1

,我想的是用户不能使用下列特殊的标记有此输入字段:$如何在PHP中检查是否一串包含特殊字符,如{和}

现在我有{} []下面的解决方案在我的代码中,但问题是它不允许ä,ö,ü或其他字符。

if (preg_match('/^[-a-zA-Z0-9 .]+$/', $string) || empty($string)){ 
echo "Everything ok!"; 
else{ 
echo "Everything not ok!";} 

正因为如此,我试图使用的preg_match( '/^[\ p {L} \ p {N} .-] + $ /',$字符串),因为它被说成允许从任何字符语言,但该解决方案不允许像@和*这样的标记,我认为这可能是需要的。那么,除了{} [] $ -marks之外的任何解决方案都会允许吗?任何帮助非常感谢,因为我无法弄清楚写什么来实现这个工作。

+0

为什么你不只是permissable字符添加到字符类? – mario

+0

esier定义你允许的内容,而不是你不知道的东西 – 2014-03-13 20:26:54

+0

“除了'{} [] $'”='[^ {} [\] $]'(用'^'和'+ $'环绕来测试整个输入)。听起来不难。 – Jon

回答

0

这是我要做的事:

if (preg_match('/[^a-zA-Z\d]/', $string)) { 
//$string contains special characters, do something. 
} 
相关问题