如何检查post字段的长度是否在8-20个字符之间


How to check if post field is from 8 - 20 characters long

可能重复:
PHP strlen问题

如何检查来自post字段的文本是否为8-20个字符长?这是用斯特伦做的吗?你能给我举个例子吗?

$variable = $_POST['your-field-name']; // or $_GET['']; depends on your post method
if(strlen($variable) > 7 && strlen($variable) < 21) {
 return true;
} else {
 return false;
}

很简单:

$item = $_POST['item'];
if (strlen($item) >= 8 && strlen($item) <= 20) { /*do something*/ }

祝你好运!康斯坦丁

最简单的选项是使用strlen:

strlen($_POST['shinyHappyString']) > 7 && strlen($_POST['shinyHappyString']) < 21

但是,如果遇到多字节字符串,则会遇到麻烦。因此,我建议您使用grapheme_strlenmb_strlen。您可以在Symfony2的验证器中检查他们是如何使用它的。

<?php
// get the length of the text. we take the value by reference
// because there is the risk it doesn't exist (such as when
// no data is submitted).
$textLen = strlen($myTextField = &$_POST['my_text_field']);
// test its length
if ($textLen >= 8 && $textLen <= 20) {
    echo 'Text is the right length.';
} else {
    echo 'Text is the wrong length.';
}