编写一段Java代码校验手机号是否正常
时间: 2024-06-10 09:06:20 浏览: 162
以下是一段简单的Java代码,可以校验一个字符串是否符合中国大陆手机号的格式:
```java
public boolean isValidPhoneNumber(String phoneNumber) {
// 手机号正则表达式
String regex = "1[3-9]\\d{9}";
// 校验手机号
return phoneNumber.matches(regex);
}
```
调用该方法,传入一个字符串参数,即可判断该字符串是否符合手机号格式,返回值为布尔型,true表示符合格式,false表示不符合格式。
相关问题
编写一段java代码使校验手机号是否合法,要求高性能
很好,我可以为您提供这个问题的解答,以下是Java代码示例:
```
public static boolean isPhoneValid(String phone) {
String regExp = "^1[3|4|5|6|7|8|9][0-9]{9}$";
Pattern pattern = Pattern.compile(regExp);
Matcher matcher = pattern.matcher(phone);
return matcher.matches();
}
```
这段代码使用正则表达式验证手机号是否合法,判断条件为手机号码必须以1开头,第二位必须是3、4、5、6、7、8、9中的任意一位,后面必须是10位数字。函数返回值为true表示手机号码合法,返回值为false表示手机号码不合法。
编写一段java代码使用Luhn算法校验手机号是否合法
好的,以下是使用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算法校验手机号是否合法。
阅读全文