【问题标题】:HTML5 Input Pattern with 2 or more strings具有 2 个或更多字符串的 HTML5 输入模式
【发布时间】:2019-11-29 03:34:10
【问题描述】:

我正在尝试在 React 中使用 HTML5 模式。 我的输入代码:

<input type="text" pattern="[a-zA-Z]" />

我想要这样的东西:德克萨斯披萨或意大利肉酱面。所以我需要字符串之间有空格的模式。但如果 pattern 允许 3 个或更多字符串就好了。

【问题讨论】:

  • 所以你想匹配多次出现的&lt;string&gt;&lt;whitespace&gt;?您尝试过什么,您的尝试是如何失败的?
  • 试试这个pattern="[a-zA-Z ]"
  • 我尝试使用 pattern="[a-zA-Z][a-zA-Z]" 和 pattern="[a-zA-Z]{2}",但这并没有不行。
  • 你没有添加空间,看我的评论。
  • pattern="[a-zA-Z ]" 根本不起作用,“披萨”“德克萨斯披萨”等

标签: html regex forms


【解决方案1】:

这代表一个词:

([a-zA-Z]+)

这表示一个单词后跟一个空格:

([a-zA-Z]+\s)

这代表两个或更多:

{2,}

大家一起:

([a-zA-Z]+\s){2,}([a-zA-Z]+)

两个或多个单词后跟一个空格,然后以一个单词结尾。

注意:如果您想要至少两个单词,请将{2,} 更改为{1,}

在演示中如果只输入 1 或 2 个单词然后提交应该会有一个错误弹出窗口。如果输入 3 个或更多单词然后提交,整个表单应该会消失。

<form>
  <input name='threeWords' type='text' pattern='([a-zA-Z]+\s){2,}([a-zA-Z]+)' required>
  <input type='submit'>
</form>

【讨论】:

    猜你喜欢
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    相关资源
    最近更新 更多