编写一段java代码使用Luhn算法校验手机号是否合法
时间: 2024-02-21 10:34:44 浏览: 98
好的,以下是使用Luhn算法校验手机号是否合法的Java代码:
```java
public static boolean isPhoneNumberValid(String phoneNumber) {
if (phoneNumber == null || phoneNumber.isEmpty()) {
return false;
}
// 只允许数字
if (!phoneNumber.matches("\\d+")) {
return false;
}
// Luhn算法校验
int sum = 0;
boolean doubleValue = false;
for (int i = phoneNumber.length() - 1; i >= 0; i--) {
int digit = phoneNumber.charAt(i) - '0';
if (doubleValue) {
digit = digit * 2;
if (digit > 9) {
digit = digit - 9;
}
}
sum += digit;
doubleValue = !doubleValue;
}
return (sum % 10 == 0);
}
```
以上代码中,首先校验手机号是否为空,是否只包含数字,然后再使用Luhn算法校验手机号是否合法。
阅读全文