正则表达式只验证字母数字,没有空格,只有40个字符

Giv*_*Pie 4 regex validation

我想知道如何为我的正则表达式指定字符数.我有正确的正则表达式,我只需要确保这将验证零到四十个字符.

这是正则表达式

$fnameRegex = "/^[a-zA-Z0-9{0,40}-_]+$/";

我可能把它{0,40}放在了错误的地方.

mat*_*fee 10

尝试

$fnameRegex = "/^[a-zA-Z0-9\-_]{0,40}$/";
Run Code Online (Sandbox Code Playgroud)

字符类中的所有[]内容只匹配一个字符.你把数量限制器放在它之外(你之前有+1或更多 - 用{0,40}替换它,它在0到40之间).

-也在你的角色类中逃脱了你的角色,否则它将被解释为一个范围.

我还向你推荐了一个伟大的regexr网站,它有利于交互式地玩正则表达式.