如何在php中使用preg_match?
How to use preg_match in php?
我想创建一个表单验证,我想确保用户不会在文本框中输入任何危险代码,所以我想使用 preg_match
来实现。
我不喜欢用户输入的是(不是 a-z 中的单词,A-Z 中的单词和数字)。
现在如何在这里使用 preg_match
?
这是一个简单的例子:
您可以在以下位置查看更多信息:http://php.net/manual/en/function.preg-match.php
您也可以这样做:$email = htmlspecialchars($_POST['email']);
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
此正则表达式只允许字母和数字。
/^[A-Z\d]+$/i
用于preg_match
if(preg_match('/^[A-Z\d]+$/i', $string)) {
echo 'Good';
} else {
echo 'Bad';
}
Regex101 演示:https://regex101.com/r/wH4uQ3/1
^
和 $
要求整个字符串匹配(它们是锚点)。 []
是一个字符 class,表示允许使用其中的任何字符。 +
表示前面的 character/group 中的一个或多个(这称为量词)。 A-Z
是字符 class 理解为字母 a-z
的范围。 \d
是一个数字。 /
s 是分隔符,告诉正则表达式从哪里开始和结束。 i
是使正则表达式不区分大小写的修饰符(可以删除它并添加 a-z
因此也允许使用小写字母)。
PHP 演示:https://eval.in/486282
注意 PHP 演示失败,因为不允许使用白色 space。要允许白色 space 在字符 class 中添加 \h
或 \s
(s
包括 \h
,因此不需要两者;\h
用于水平 spaces.).
我想创建一个表单验证,我想确保用户不会在文本框中输入任何危险代码,所以我想使用 preg_match
来实现。
我不喜欢用户输入的是(不是 a-z 中的单词,A-Z 中的单词和数字)。
现在如何在这里使用 preg_match
?
这是一个简单的例子:
您可以在以下位置查看更多信息:http://php.net/manual/en/function.preg-match.php
您也可以这样做:$email = htmlspecialchars($_POST['email']);
$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
此正则表达式只允许字母和数字。
/^[A-Z\d]+$/i
用于preg_match
if(preg_match('/^[A-Z\d]+$/i', $string)) {
echo 'Good';
} else {
echo 'Bad';
}
Regex101 演示:https://regex101.com/r/wH4uQ3/1
^
和 $
要求整个字符串匹配(它们是锚点)。 []
是一个字符 class,表示允许使用其中的任何字符。 +
表示前面的 character/group 中的一个或多个(这称为量词)。 A-Z
是字符 class 理解为字母 a-z
的范围。 \d
是一个数字。 /
s 是分隔符,告诉正则表达式从哪里开始和结束。 i
是使正则表达式不区分大小写的修饰符(可以删除它并添加 a-z
因此也允许使用小写字母)。
PHP 演示:https://eval.in/486282
注意 PHP 演示失败,因为不允许使用白色 space。要允许白色 space 在字符 class 中添加 \h
或 \s
(s
包括 \h
,因此不需要两者;\h
用于水平 spaces.).