HTML RegEx(首字母大写)

时间:2018-04-26 16:52:47

标签: html regex

我有字段“第一个和第二个名字”,我需要RegEx来大写该字段中每个单词的第一个字母。

使用此模式,只有第一个单词大写,但第二个单词不是

<form action="/action_page.php">
  First and Second name <input type="text" name="f_and_s_name" pattern="[A-zA-Z]{1,13}" title="">
  <input type="submit">
</form>

1 个答案:

答案 0 :(得分:0)

pattern="[A-zA-Z]{1,13}"模式由JS RegExp引擎解析为^(?:[A-zA-Z]{1,13})$。它匹配一个由ASCII字母组成的1到13个字符的字符串,以及[\]^_,{{ 1}}(见this answer for more details)。

您计划仅验证以大写ASCII字母后跟小写字母开头的字符串,然后是空格,然后再使用小写字母再次使用大写ASCII字母。

然后,您可以使用

`

如果你想让规则受到限制,你可以使用pattern="[A-Z][a-z]* [A-Z][a-z]*" (这也将允许ALLCAPS中的字符串,并允许两个字母字符串之间的任何1个以上的空格字符。如果你打算实施支持Unicode字母,只有在最新的Chrome版本中才能轻松实现(它看起来像[A-Z][a-zA-Z]*\s+[A-Z][a-zA-Z]*)。但是,它仍然无法在所有其他仍不支持ECMA2018标准的浏览器中使用。