题目描述
某系统在新用户注册时必须输入手机号,为了提高系统效率,防止输错手机号,需要对手机号进行验证。
验证规则为:
(1)长度为11位
(2)由数字0~9组成
(3)必须是1开头
以上3个条件同时满足,则验证通过,否则为不通过。
输入格式:
在一行中一个字符串,长度不超过20个字符。
输出格式:
如果验证通过则输出yes,否则输出no。
输入样例:
13812345678
输出样例:
yes
解题思路
考察对java字符串相关函数的应用
Java代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String phoneNumber = scanner.nextLine();
scanner.close();
if (validatePhoneNumber(phoneNumber)) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
private static boolean validatePhoneNumber(String phoneNumber) {
// 验证长度
if (phoneNumber.length() != 11) {
return false;
}
// 验证是否以1开头
if (!phoneNumber.startsWith("1")) {
return false;
}
// 验证是否全部由数字组成
for (int i = 0; i < phoneNumber.length(); i++) {
if (!Character.isDigit(phoneNumber.charAt(i))) {
return false;
}
}
// 所有验证都通过
return true;
}
}