【发布时间】:2020-08-12 18:28:56
【问题描述】:
检查输入数字的任务如果仅以 7/8/9 开头并且包含 10 位数字,则它是有效的。 这是代码。 纠正我。我知道我错了。
public boolean validateMobileNumber(long number) throws Exception {
String num = Long.toString(number);
String regex = "@\"^[7-9]{10}$";
if (num.equals(regex))
return true;
else
throw new Exception("Invalid Number");
}
【问题讨论】:
-
“7/8/9”可能会被误解。如果您的意思是“7”、8 或 9,则应该这样说。另外,请说明字符串开头的数字是否可以跟其他字符。
-
如果 10 位中的 任何 位不是
7、8或9,您的正则表达式将失败。这是你的意图吗? -
不!它应该以 7 或 8 或 9 开头,总共应包含 10 个数字
-
那你要
^[7-9]\d{9}$。 -
你必须使用
String#matches(),而不是equals