Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรมนิพจน์ทั่วไป Java เพื่อตรวจสอบอีเมลรวมถึงช่องว่างที่ถูกต้องเช่นกัน


การติดตามนิพจน์ทั่วไปที่ตรงกันที่ให้ id อีเมลรวมถึงการป้อนข้อมูลที่ว่างเปล่า -

^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6})?$ 

ที่ไหน

  • ^ ตรงกับจุดเริ่มต้นของประโยค

  • [a-zA-Z0-9._%+-] จับคู่อักขระหนึ่งตัวจากตัวอักษรภาษาอังกฤษ (ทั้งสองกรณี) ตัวเลข "+" "_" ".","" และ "-" ก่อนสัญลักษณ์ @ .

  • + หมายถึงการซ้ำซ้อนของชุดอักขระที่กล่าวถึงข้างต้นอย่างน้อยหนึ่งครั้ง

  • @ ตรงกับตัวเอง

  • [a-zA-Z0-9.-] จับคู่อักขระหนึ่งตัวจากตัวอักษรภาษาอังกฤษ (ทั้งสองกรณี) หลัก "." และ "-" หลังเครื่องหมาย @

  • \.[a-zA-Z]{2,6} สองถึง 6 ตัวอักษรสำหรับโดเมนอีเมลหลัง "."

  • $ หมายถึงการสิ้นสุดประโยค

ตัวอย่างที่ 1

<ก่อน> นำเข้า java.util.Scanner; นำเข้า java.util.regex.Matcher; นำเข้า java.util.regex.Pattern; SampleTest คลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก ( สตริง args [] ) { สตริง regex ="^ ([ a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6})?$"; // กำลังอ่านข้อมูลจากผู้ใช้ Scanner sc =new Scanner (System.in); System.out.println("ป้อนชื่อของคุณ:"); ชื่อสตริง =sc.nextLine(); System.out.println("ป้อนอีเมลของคุณ:"); สตริง e_mail =sc.nextLine(); System.out.println("ป้อนอายุของคุณ:"); อายุ int =sc.nextInt(); //การสร้างตัวอย่างคลาส Pattern Pattern pattern =Pattern.compile(regex); //สร้างตัวอย่างคลาส Matcher Matcher matcher =pattern.matcher (e_mail); // ตรวจสอบว่ามีการจับคู่เกิดขึ้นหรือไม่ถ้า (matcher.find ()) { System.out.println ("ยอมรับค่าอีเมล"); } อื่น { System.out.println ("อีเมลไม่รับค่า"); } }}

ผลลัพธ์1

ป้อนชื่อของคุณ:krishnaป้อนอีเมลของคุณ:ป้อนอายุของคุณ:20ค่าอีเมลที่ยอมรับ

ผลลัพธ์ 2

ป้อนชื่อของคุณ:Rajeevป้อนอีเมลของคุณ:[email protected]ป้อนอายุของคุณ:25ค่าอีเมลที่ยอมรับ

ตัวอย่างที่ 2

<ก่อน>นำเข้า java.util.Scanner; ตัวอย่างคลาสสาธารณะ { public static void main (String args[]) {//Reading String จากผู้ใช้ System.out.println ("ป้อนที่อยู่อีเมล:"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); สตริง e_mail =sc.nextLine(); //นิพจน์ปกติ String regex ="^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2 ,6})?$"; ผลลัพธ์บูลีน =e_mail.matches (regex); ถ้า (ผลลัพธ์) { System.out.println ("ถูกต้องตรงกัน"); } อื่น { System.out.println ("การจับคู่ไม่ถูกต้อง"); } }}

ผลลัพธ์ 1

ป้อนที่อยู่อีเมล:[email protected] match

ผลลัพธ์ 2

ป้อนที่อยู่อีเมล:ถูกต้องตรงกัน