正则表达式允许字母数字字符并且应该允许 . (点)'(撇号)和 -(破折号)

Raj*_*ngh 1 regex validation ruby-on-rails

我正在尝试构建一个正则表达式来验证将包含字母数字字符的用户名,并应允许. (点)'(撇号)和-(破折号),我已尝试使用以下正则表达式,但它们不起作用

  1. /^[\w-'.]$/
  2. /^[a-zA-Z0-9\.'-]$/

请帮忙

Dan*_*nez 5

缺少一些东西:

  • 逃脱集合中的最后一个破折号。该-符号表示集合中的范围,例如a-z
  • 设置后添加+,使字符匹配一次或多次。

表达

^[a-zA-Z0-9\.'\-]+$
Run Code Online (Sandbox Code Playgroud)

雷伊

您还可以将其修改为类似 的内容^[a-zA-Z0-9\.'\-]{5,}$,其中{5,}需要至少 5 个集合中的成员同时匹配。通常用户名必须长于 1 个字符。