Jac*_*sen -1 php validation input
如何检查,如果输入仅包含一个或多个,这些允许的字符中的一个:
a-z,A-Z,0-9
所以我的支票看起来像这样:
if ($_POST ['input'] != 'a-z, A-Z, 0-9') {
exit;
}
else {
//do stuff
Run Code Online (Sandbox Code Playgroud)
您可以使用它preg_match来测试输入数据.如果您想要每个字符集中的至少一个,则可以使用
if (preg_match('/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])/', $_POST['input'])) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
(这个正则表达式使用3个正向前瞻,以确保三个集合中的每一个都有一个字符)
如果您只想要整个集合中的一个或多个,则可以使用
if (preg_match('/[a-zA-Z0-9]/', $_POST['input']))
Run Code Online (Sandbox Code Playgroud)
如果你想让所有角色都在那个集合中,你可以使用
if (preg_match('/^[a-zA-Z0-9]+$/', $_POST['input']))
Run Code Online (Sandbox Code Playgroud)
我在3v4l.org上对每个正则表达式进行了一些演示
请注意,只要您想要两者A-Z和a-z集合,就可以通过i在正则表达式上使用修饰符来简化后两个正则表达式(不区分大小写):
if (preg_match('/[A-Z0-9]/i', $_POST['input']))
if (preg_match('/^[A-Z0-9]+$/i', $_POST['input']))
Run Code Online (Sandbox Code Playgroud)