HTML input的pattern属性配置:如何让"john"类名字匹配[A-Za-z]规则?
解决英文名字输入的格式验证问题
你当前的input标签pattern属性设置为[A-Za-z],这个正则只能匹配单个英文字母,所以输入"john"这类多字符名字时会触发格式验证失败。
要解决这个问题,只需要给正则加上量词+,表示匹配一个或多个连续的英文字母,修改后的pattern值为[A-Za-z]+。如果需要支持带空格、连字符的名字(比如"Mary Ann"、"Jean-Luc"这种常见格式),可以把正则调整为[A-Za-z\s-]+,允许空格和连字符的存在。
修改后的完整代码如下:
<div class="name deets"> <label for="idname" class="label">Name</label> <input type="text" placeholder="Name" id="idname" pattern="[A-Za-z]+" required> </div>
如果需要支持更宽松的名字格式(比如带撇号的O'Neil),还可以把正则扩展为[A-Za-z\s'-]+,根据实际需求调整即可。
内容的提问来源于stack exchange,提问作者user19804865
相关产品推荐
相关产品推荐

