使用正则表达式按长度过滤字符串

hal*_*uud 5 php regex

我试图用这种模式验证带有正则表达式的输入字段[A-Za-z]{,10} 我希望它只在输入字段中发送10个或更少的字符时找到匹配,我得到的问题是它将匹配所有小于10个字符的字符.

有没有办法说输入字段中是否有超过10个字符返回为假,或者它是否更好strlen用PHP 做?

rid*_*ner 2

OP 和所有当前正则表达式答案在这里犯了一个重要的语法错误:当在 PHP (PCRE) 中使用大括号量词时,您需要指定第一个数字。(即表达式:{,10}不是有效的量词!)尽管逗号和第二个数字是可选的,但大括号量词中的第一个数字是必需的。因此表达式应该这样指定:

if (preg_match('/^[A-Za-z]{0,10}$/', $text))
    // Valid input
else
    // Invalid input
Run Code Online (Sandbox Code Playgroud)