HTML5输入验证的Javascript正则表达式语法

Javascript regex syntax for HTML5 input validation

本文关键字:正则表达式 语法 Javascript 输入 验证 HTML5      更新时间:2023-09-26

所以有很多问题,经过筛选,我仍然不知道如何处理。。。

图案:

  • 仅字母表,不区分大小写,不限制字符数或单词,至少3个字符

我有

pattern="[A-z]{3,}"

这给了我一切,除了我只能用一个词…:-(

编辑:让我更清楚一点,我希望验证能为我实现什么…

我用它来捕捉一个人的名字。但我不想涉及任何特殊的字符或数字,所以不要用"小约翰·多伊"作为"。"将被拒绝,但我希望能够捕获双字符,甚至单字符部分,同时保持"全局"3个字符的最小限制。。。

要允许空格,所要做的就是在有[A-z]的字符模式中添加一个空格。

所以它变成了:

pattern="[A-z ]{3,}"

希望能有所帮助。

但是,请注意,这将阻止其他类型的空白字符。我想这就是你想要的,因为你对字符集的其余部分有很大的限制,但值得指出的是,非中断空格、回车和其他空白将在上面被阻止。如果您想允许它们,请使用's而不仅仅是空格:这将匹配任何空白字符。

最后,值得指出的是,即使是普通英语文本,标准字母表也往往不够。有带重音的有效英语单词,也有撇号和其他标点符号。你还没有具体说明这个字段的用途,所以我认为这不是一个问题,但我觉得值得指出。

很难看出问题是什么。您匹配的是一个字符串,而不是一组单词。如果您的模式是"单词列表,每个单词仅按字母顺序排列,并用空格分隔",那么正则表达式将是

([A-Za-z]{3,}''s*)+

已编辑以回答更新的问题。

[A-Za-z''s]*([A-Za-z]{3,})+[A-Za-z''s]* (works in Java)

pattern = "[A-z's]{3,}"怎么样?