【问题标题】:Regex to allow alphanumeric characters and should allow . (dot) ' (apostrophe) and - (dash)正则表达式允许字母数字字符并且应该允许 . (点) ' (撇号) 和 - (破折号)
【发布时间】:2015-01-06 17:55:26
【问题描述】:

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

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

请帮忙

【问题讨论】:

  • 你怎么知道字符类却不知道量词??
  • @sln 我是一个正则表达式的菜鸟,我知道我需要学习一些基本概念,我很快就会开始

标签: ruby-on-rails regex validation


【解决方案1】:

缺少一些东西:

  • 转义集合中的最后一个破折号。 - 符号表示集合中的一个范围,例如 a-z
  • 在集合后加上+,使字符匹配一次或多次。

表达式

^[a-zA-Z0-9\.'\-]+$

REY

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

【讨论】:

  • 谢谢,它成功了,你能告诉我使用正则表达式如何验证字符串,以便第一个字符必须在 A-Z 之间,第二个字符不能包含数值
  • ^[A-Z][a-zA-Z\.'\-][a-zA-Z0-9\.'\-]+$
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多