可能重复:
Regular expression to limit number of characters to 10
我检索到标准表单的POST,我需要测试两件事:
我认为用preg_match可以做到这一点,但我不知道怎么做。
答案 0 :(得分:1)
在全局$ _POST中,您拥有http请求中的所有发布数据。
然后:
$myvar = $_POST['your_posted_variable_here'];
$result = preg_match('/^([\w\d]){40}$/i', $myvar);
如果您的发布数据仅包含字母和数字且长度为40个字符,则$ result将为true,否则将为false。
答案 1 :(得分:0)
完全 40个字符:
^[a-zA-Z0-9]{40}$
至少 40个字符:
^[a-zA-Z0-9]{40,}$
答案 2 :(得分:0)
有关preg_match的信息
http://php.net/manual/en/function.preg-match.php
if (preg_match("@^[a-z0-9]{40}$@mis", $_POST['username'])) {
print 'matched';
}
答案 3 :(得分:0)
您还可以先使用strlen()检查字符串的长度,然后如果它满足所需的长度,请继续检查字母数字。
但将军有正确的想法......
这是另一种方式:
preg_match("/^[0-9a-zA-Z_]{40,}$/", $_POST["something"])
这是字母数字,并检查至少40个字符,但会接受更多。逗号后面的缺失值表示它可以是等于或大于40的任何值。
答案 4 :(得分:0)
PHP提供了一个函数,用于检查字母数字字符ctype_alnum和strlen以检查字符串的长度,因此使用这两个函数可以验证它
$yourInput=$_POST['yourInput'];
if(ctype_alnum($yourInput) && strlen($strlen)==40)
{
//...
}