好的,我在本网站上查到的所有涉及验证的内容都不是我想要的。
我想要做的是firstname和secondname中值的最小长度和最大长度,这是我目前拥有的代码。
if (isset($_POST['submit'])) {
$errors = array();
if (isset($_POST['firstname'])) {
$fn = $_POST['firstname'];
} else {
$errors[] = "You have not entered a first name";
}
if (isset($_POST['secondname'])) {
$sn = $_POST['secondname'];
} else {
$errors[] = "You have not entered a second name";
}
我只是想知道如何将preg_match应用于最小为4个字母且最大值为15的那些?
我知道这与
有关if(preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname']))
这样做我试着做
if (isset($_POST['firstname']) && preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname')) {
但这也给了我一个错误:/
有人能为我解决这个问题吗?
谢谢!
更新: -
Nvm,我找到了解决方法。我刚刚做了这个
if (isset($_POST['firstname'])) {
if (preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname'])) {
$fn = $_POST['firstname'];
} else {
$errors[] = "<center> <h3> You must enter between 4 and 15 characters! </h3></center>";
}
} else {
$errors[] = "You have not entered a name";
} 对于firstname和secondname。 :)
答案 0 :(得分:2)
为什么不用strlen()
来获取字符串长度,然后根据您的限制进行测试?
$length = strlen($nick);
if ($length > 3 AND $length < 16) {
//Do STuff
} else {
//Do stuff for failed requirement
}
答案 1 :(得分:0)
我找到了解决方法。我刚刚做了这个
if (isset($_POST['firstname'])) {
if (preg_match('/^[A-Z \'.-]{4,15}$/i', $_POST['firstname'])) {
$fn = $_POST['firstname'];
} else {
$errors[] = "<center> <h3>You must enter between 4 and 15 characters!</h3> </center>";
}
} else {
$errors[] = "You have not entered a name";
}
对于firstname和secondname。