java - 验证文本字符串是否与 java 中预先确定的格式相匹配

标签 java regex validation

我正在尝试编写一个验证方法,该方法将验证是否有人错误地输入了许可证号,我四处搜索并找到了一些想法,但我只是无法得到我想要的结果。正确的格式应该是两个字母后跟七个数字,两个字母和七个数字可以更改,但格式应保持不变,例如:

AB1234567

如果用户输入此值,则 boolean 值将为 true,如果他们输入:

A12345678 or AB12345Y7 or even not matching the correct length such as 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;
}  

关于java - 验证文本字符串是否与 java 中预先确定的格式相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41774305/

相关文章:

java - IntelliJ 调试 - 监视包含特定值的任何变量

java - 正则表达式用一个破折号替换 2 个或多个破折号

python - 如何使用正则表达式查找匹配词?

html - 在 HTML 时间输入中实现一个范围

javascript - 我如何在 IE9、iOS 上验证所需的 jqBootstrapValidation

jquery - 如何在 "depends"以外的规则上使用 jquery 验证 "required"?

java - 在客户端使用 GWT 构建 RSS

java - 当实现违反其接口(interface)契约时抛出什么异常?

javascript - 为什么嵌套括号会导致此正则表达式中出现空字符串?

java - 一个参数具有多个参数 - Selection 和 SelectionArgs