我一直在HTML格式的表单中使用输入类型,并使用pattern属性来更好地验证数据输入。
有没有办法在单个输入类型中允许多个模式?
例如,我想同时允许[a-zA-Z]{1}\d{8}
和d{8}\[a-zA-Z]{1}
这将是我目前使用的输入之一,但正如你所看到的,我只有一种模式:
<input type="text" id="txtID" pattern="[a-zA-Z]{1}\d{8}" required/>
由于我对RegEx的了解有限,可能有一种方法可以使用允许这两种模式的RegEx公式,但我真的不知道。
答案 0 :(得分:2)
您可以使用交替运算符|
来允许其他模式:
[a-zA-Z]\d{8}|d{8}[a-zA-Z]
请注意,您无需添加任何锚点或分组,请参阅pattern documentation:
这意味着用于此属性的正则表达式语言与JavaScript中使用的正则表达式语言相同,只是模式属性与整个值匹配,而不仅仅是任何子集(有点像它暗示{{1} }在模式的开头和结尾的
^(?:
。