if(preg_match("/^[a-zA-Z0-9\s\!\"\№\;\%\:\?\*\(\)\<\>\/\#\$\^\&\@\-\+\_\=\|\,\.\~\{\}\[\]\'\\\\]+$/", $sometext))
{//only symbols from keyboard entered
}
else
{//bad symbols entered
}
我经常测试这个功能,看起来效果很好。但是,我发现它也适用于这个字符串:
how are you?'<>"\|/à
它不应该起作用,因为不允许使用符号à
。
请不要告诉我stripslashes
,我知道。我也发现如果我想允许\
符号,我必须写\\
,而不是\\\\
。我也是。
谢谢。
答案 0 :(得分:0)
这似乎有用,虽然我似乎无法将No字符放入模式中(它有一个\?而不是):
if(preg_match("/^[a-zA-Z0-9\s!\"\?;%:?*()<>\/#$\^&@\-+_=|,.~{}\[\]'\\\\]+$/", $sometext))