javascript - [Alphanumeric][alphanumeric.-_@] 31 个字符的正则表达式建议

标签 javascript regex

我想在 javascript 中使用正则表达式进行名称检查。

  1. 该值可以包含字母数字和后面的特殊字符 (“-”、“.”、“_”和“@”)。
  2. 应始终以字母数字字符开头。
  3. 不能为空字符串。
  4. 此参数允许的最大长度为 31 个字符。
  5. 此参数不区分大小写。

我想到了这个,但感觉不正确。关于如何让它万无一失的任何建议?

^[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/

相关文章:

regex - 仅当字符串尚不存在时才使用 sed 将字符串添加到行尾

notepad++ 中带有 2 个分号的正则表达式

javascript - 如何使用 '&' 或 '?' 作为第一个字符进行正则表达式调用

Javascript 函数(对数组元素求和)不起作用

javascript - 来自 Angular 1 背景时在 Angular 2 中思考

java - 正则表达式捕获具有常见字符的组

regex - 如何 grep 具有特定格式的行

javascript - 使用 Css 的导航栏样式

javascript - 跟踪器计算在生产中不起作用

javascript - 如何将元素添加到 DOM