Html5输入模式

时间:2015-10-06 12:50:04

标签: regex html5 html5-validation

我从某个在线生成器获得了这种模式.*?[a-z]([a-z])([a-z])([a-z]).*?(\s+)(\d+),但它无效。

我需要允许的模式:

“最小3个字符串长度字符串,下一个单个空格,以及下一个最小1个字符整数”[abc 1]或相同但以不同顺序“最小1个字符整数,下一个单个空格和下一个最小3个字符长度字符串” [3 gtf]。

感谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

previous()

它匹配:

  1. 一个或多个数字(\d+\s\w{3,}|\w{3,}\s\d+ ),后跟一个空格(\d+),后跟三个或更多字字符(\s)(这是[a-zA- Z0-9],如果您愿意,可以用[a-zA-Z]替换此部分。
  2. 三个或更多单词字符(这是[a-zA-Z0-9],如果您愿意,可以用[a-zA-Z]替换此部分),然后是单个空格,接着是一个或多个数字。
  3. Regex101

答案 1 :(得分:1)

以下表达式应该按照您的描述进行:

[a-z]{3,}\s\d+|\d+\s[a-z]{3,}

一些注意事项:

  1. {3,}构造允许您指定给定范围内的重复。一般情况下,它是{min,max},但您可以忽略最小值或(如此处)最大值以具有开放范围。您还可以通过指定单个数字来指定确切的重复次数,例如{99}

  2. 表达式本质上是两个完整的表达式,用交替切换。正则表达式不允许您以任何顺序说出“完全符合这些内容”。

  3. 我使用[a-z]来匹配非数字部分中的字符,因为这是您在原始示例中所做的。