คุณสามารถจับคู่หมายเลขมือถือที่ถูกต้องได้โดยใช้ Regular Expression ดังต่อไปนี้:
"\\d{10}"
- หมายเลขมือถือที่ถูกต้องโดยทั่วไปจะมี 10 หลัก (ในอินเดีย)
- Metacharacter "\d" จะจับคู่ตัวเลข 0 ถึง 9
- Quantifier "{n}" ระบุการซ้ำของ pattern ก่อนหน้า n ครั้ง
ตัวอย่างที่ 1: ใช้ Pattern และ Matcher
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneNumberExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = sc.nextLine();
System.out.println("Enter your Phone number: ");
String phone = sc.next();
// Regular expression สำหรับหมายเลขโทรศัพท์ที่ถูกต้อง
String regex = "\\d{10}";
// สร้าง Pattern object
Pattern pattern = Pattern.compile(regex);
// สร้าง Matcher object
Matcher matcher = pattern.matcher(phone);
// ตรวจสอบว่าเบอร์โทรศัพท์ที่ให้มาถูกต้องหรือไม่
if (matcher.matches()) {
System.out.println("Given phone number is valid");
} else {
System.out.println("Given phone number is not valid");
}
}
}
Output 1
Enter your name: krishna Enter your Phone number: 9848022338 Given phone number is valid
Output 2
Enter your name: krishna Enter your Phone number: 5465 Given phone number is not valid
Output 3
Enter your name: krishna Enter your Phone number: 984802354655 Given phone number is not valid
ตัวอย่างที่ 2: ใช้ String.matches()
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter your Phone number: ");
String phone = sc.next();
// Regular expression สำหรับหมายเลขโทรศัพท์ที่ถูกต้อง
String regex = "\\d{10}";
// จับคู่เบอร์โทรศัพท์กับ regular expression
boolean result = phone.matches(regex);
if (result) {
System.out.println("Given phone number is valid");
} else {
System.out.println("Given phone number is not valid");
}
}
}
Output 1
Enter your Phone number: 9848022338 Given phone number is valid
Output 2
Enter your Phone number: 123 Given phone number is not valid
Output 3
Enter your Phone number: 123654788755 Given phone number is not valid