我想在 javascript 中使用正则表达式进行名称检查。
- 该值可以包含字母数字和后面的特殊字符 (“-”、“.”、“_”和“@”)。
- 应始终以字母数字字符开头。
- 不能为空字符串。
- 此参数允许的最大长度为 31 个字符。
- 此参数不区分大小写。
我想到了这个,但感觉不正确。关于如何让它万无一失的任何建议?
^[A-Za-z0-9]+[A-Za-z0-9_@-.]{30}
最佳答案
你很接近,这是更正后的正则表达式:
/^[a-z0-9][\w@.-]{0,30}$/i
我应用了以下更改:
- 在末尾添加了
$
anchor - 使用 i 修饰符来区分大小写
- 将
a-zA-Z0-9_
替换为\w
并将-
移至字符类的末尾 - 将固定重复
{30}
更改为{0,30}
参见 Regex101-Demo进行一些单元测试。
关于javascript - [Alphanumeric][alphanumeric.-_@] 31 个字符的正则表达式建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37805265/