此问题已在此处有答案:
Regular expression limit string size(3个答案)
2天前关闭。
如果输入的字符串不像G6 A123 -4853473,我想禁用按钮
验证条件:字符串应该以G6开头,之后它应该包含一个或多个字母,并且应该包含一个连字符(-),连字符不应该在最后一个位置,字符串的总长度应该是14
我用的是angular,我试过这个^([G6][A-Z]*[0-9]*[-][0-9]*)$
<input matInput type="search" #filter>
<button mat-raised-button color="primary" [disabled]="!filter.value.match('^([8D][A-Z]*[0-9]*[-][0-9]*)$')"> Search
</button>
这里面的问题是
1.它无法验证字符串长度。
1.连字符可位于最后位置
2条答案
按热度按时间cx6n0qe31#
您可以使用lookahead来验证字符串长度:
它要求在字符串的开头之后有14个符号和字符串的结尾。
(?=.*[A-Z])
要求在G6之后的某个地方存在大写字母。此外,要检查连字符后是否有数字,可以使用
+
限定符。演示here。
q5lcpyga2#
试一次
或
此正则表达式将匹配任何以“abc”开头并后跟一个或多个字母数字字符的字符串。