PHP检查它是否包含除字母数字或空格之外的任何内容

时间:2014-07-23 00:34:13

标签: php string

我有一个发送字符串的表单。这很简单:

<form action="test2.php" method="POST">
String: <input type="text" name="string" />
<br /><input type="submit" value="Send >" />
</form>

这是test2.php:

<?php
$string = $_POST['string'];
preg_replace("/[^0-9a-zA-Z ]/", "", $string {
echo "You can't have any symbols in your username.";
} else {
echo "Nice string!";
}
?>

它不起作用。我正在尝试这样做,如果字符串包含任何 BUT 字母数字字符或空格(所以任何其他符号),它会说你不能有符号。但如果它只包含字母数字或空格,则会说Nice String。

我如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您的语法完全无效。你想要这样的东西:

<?php
$string = $_POST['string'];
if ( preg_match("/[^0-9a-zA-Z ]/", $string) ) {
    echo "You can't have any symbols in your username.";
} else {
    echo "Nice string!";
}
?>

请注意,我使用preg_match来测试正则表达式是否匹配,而不是preg_replace,它会替换部分字符串。