如何创建仅接受字符串输入的Pattern Validator?
仅接受字符串输入的Pattern Validator实现
你的当前代码里的pattern="^[a-z0-9_-]{8,15}$"允许数字、下划线、短横线,不符合仅接受字符串的需求,以下是几种符合要求的修改方案:
方案1:仅允许大小写英文字母(长度8-15)
直接修改pattern属性,只匹配英文字母:
<input type="text" placeholder="First Name" name="firstName1" [(ngModel)]="firstName" #firstName1="ngModel" required pattern="^[a-zA-Z]{8,15}$">
[a-zA-Z]:匹配所有大小写英文字母{8,15}:限制输入长度在8到15位之间^和$:确保整个输入内容都符合规则,避免部分匹配
方案2:允许英文字母+空格(比如姓名中间的空格)
如果需要支持姓名里的空格,在规则里加入\s(匹配空格):
<input type="text" placeholder="First Name" name="firstName1" [(ngModel)]="firstName" #firstName1="ngModel" required pattern="^[a-zA-Z\s]{8,15}$">
方案3:支持多语言字母(如中文、法语等)
如果需要支持Unicode范围内的所有字母(不限于英文),可以使用\p{L}(部分旧浏览器需注意兼容性,也可用兼容写法^[^\d\W_]+$):
<input type="text" placeholder="First Name" name="firstName1" [(ngModel)]="firstName" #firstName1="ngModel" required pattern="^\p{L}{8,15}$" title="仅允许输入字母">
内容的提问来源于stack exchange,提问作者Schokoladka
相关产品推荐
相关产品推荐

