所以我添加了类似但不能用于最少两个字符验证的代码
<form action="/action_page.php">
Full Name:
<input type="text" name="full_name"
pattern="^[a-zA-Z]+ (\s+[a-zA-Z]+)*$"
title="Enter your Full name( First name, Last name)">
<input type="submit">
</form>
答案 0 :(得分:1)
添加minlength="2"
(请参阅minlength
support table)以将最小长度限制为2个字符,并删除+
和(
之间的空格,因为在正则表达式模式中空格是有意义的。 / p>
<form action="/action_page.php">
Full Name:
<input type="text" name="full_name" minlength="2"
pattern="^[a-zA-Z]+(\s+[a-zA-Z]+)*$"
title="Enter your Full name( First name, Last name)">
<input type="submit">
</form>
请注意,您也可以删除模式中的^
和$
并使用
pattern="[a-zA-Z]+(\s+[a-zA-Z]+)*"
因为HTML5引擎will put the pattern in between ^(?:
and )$
,从而确保了整个字符串匹配。
如果应该支持不支持minlength
的浏览器,请在开始时使用先行检查:
pattern="(?=.{2})[a-zA-Z]+(\s+[a-zA-Z]+)*"
断言字符串的开始后,(?=.{2})
将立即需要2个字符(注意pattern="(?=.{2})[a-zA-Z]+(\s+[a-zA-Z]+)*"
将转换为/^(?:(?=.{2})[a-zA-Z]+(\s+[a-zA-Z]+)*)$/
正则表达式,取决于是否带有u
修饰符,具体取决于浏览器)。
答案 1 :(得分:0)
找到了用于模式替换的答案
^(?=.{2,}$)([a-zA-Z]+(\s+[a-zA-Z]+)*)$
答案 2 :(得分:0)
尝试这种模式
<form action="/action_page.php">
Country code: <input type="text" name="country_code" pattern="[a-zA-Z]{2}" title="Two letter country code">
<input type="submit">
</form>
默认情况下,它在字符串的开头和结尾都不允许有空格,并且至少可以验证2个字符,第三种情况也可以。