这是我现在使用的正则表达式(还算可以):
$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 个字符
有效输入:
- Testing
- Test ing
- Test123
- Test 123
- Test___
无效输入:
- Testing#
- Testin8+
- Tester1&
\s
包括换行和制表符,因此不,使用\s
并不更好。 - NahydrinisVaild('Test 123')
返回true
,而isValid('Testing#')
返回false
。这不是预期的行为吗? - ridisValid('Testing#');
返回 true。我应该指出,我是通过 jQuery ajax 请求发送这些值的。 - Nahydrin