我正在尝试编写一种验证方法,该方法将验证是否有人输入了错误的许可证号,我四处搜寻并找到了一些想法,但我只是无法获得想要的结果。正确的格式应该是两个字母后跟七个数字,两个字母和七个数字可能会更改,但示例的格式应保持不变:
AB1234567
如果用户输入此值,则布尔值将为true(如果输入):
A12345678或AB12345Y7甚至不匹配正确的长度,例如AB10
然后它将返回为false,下面是我尝试的代码,感谢您的帮助或向正确方向的推动。
public boolean validateLicense()
{
boolean retValue = false;
if ((this.licenseNumber.matches("[a-zA-Z]{2}\\d{6}")))
retValue = true;
return retValue;
}
最佳答案
第一件事是您说了七个数字,但是在正则表达式中有d {6}。第二件事是,如果将其更改为:
[a-zA-Z] {2} \ d {7}
它也将匹配该字符串:
kjasd; lkfjAB1234567jklsdfa。
您的正则表达式必须为:
^ [a-zA-Z] {2} \ d {7} $
^-字符串的开头
$-字符串结尾
码:
public boolean validateLicense()
{
boolean retValue = false;
if ((this.licenseNumber.matches("^[a-zA-Z]{2}\\d{7}$")))
retValue = true;
return retValue;
}