这是我目前拥有的正则表达式(哪种有效):
$regex = '/[\w ]{7,30}/';
我的修改看起来像我想要的,但它根本不起作用:
$regex = '^[\w ]{7,30}$';
这是我使用正则表达式的方式:
public function isValid( $value )
{
$regex = '/^[\w ]{7,30}$/';
return preg_match( $regex, $value ) ? true : false;
}
我正在尝试匹配以下内容:
- 任何小写/大写字母
- 任何数字
- 可以包含空格
- 不能包含换行符或制表符
- 最少 7 个字符
- 最多 30 个字符
有效输入:
- 测试
- 测试
- 测试123
- 测试 123
- 测试___
无效输入:
- 测试#
- 测试8+
- 测试人员 1&
第一个正则表达式将匹配所有有效的输入,以及无效的(只要前四个字符有效,它不关心其余的)。第二个正则表达式不匹配。
最佳答案
尝试像这样结合两者:
$regex = '/^[\w ]{7,30}$/';
关于PHP:用于精确匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9401522/