可能重复:
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_strlen
或mb_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.';
}