Java簡單註冊格式驗證(正則表示式)
阿新 • • 發佈:2019-01-04
一、用正則表示式寫的簡單的註冊驗證,具體要求如下:
使用者註冊驗證(使用者名稱,密碼,暱稱,中文名字,手機號,郵箱)所有資訊符合以下條件才允許註冊:
1.使用者名稱格式:由字母數字下劃線組成且開頭必須是字母,不能超過16位;
2.密碼格式:字母和數字構成,不能超過16位;
3.暱稱:字母和數字構成長度大於6小於10;
4.手機號:全數字,長度為11位;
5.郵箱:必須包含@符號;必須包含點;點和@之間必須有字元;
所有資訊符合上述條件才允許註冊。
二、程式碼如下:
package com.lgl.day02;
import java.util.Scanner;
import java.util .regex.Matcher;
import java.util.regex.Pattern;
public class StringCheck {
public static void main(String[] args) {
Pattern p = null;
Matcher m = null;
boolean flg = true;
Scanner sc = new Scanner(System.in);
System.out.println("------使用者註冊------");
//匹配使用者名稱
System.out .println("使用者名稱: ---(由字母數字下劃線組成且開頭必須是字母,不能超過16位)");
String name = sc.nextLine();
p = Pattern.compile("[a-zA-Z]{1}[a-zA-Z0-9_]{1,15}");
m = p.matcher(name);
flg = m.matches();
//匹配密碼
System.out.println("密碼:---(字母和數字構成,不能超過16位)");
String pass = sc.nextLine ();
p = Pattern.compile("[a-zA-Z0-9]{1,16}");
m = p.matcher(pass);
flg = m.matches();
//匹配暱稱
System.out.println("暱稱: ---(字母和數字構成長度大於6小於10) ");
String nicheng = sc.nextLine();
p = Pattern.compile("[a-zA-Z0-9]{7,9}");
m = p.matcher(nicheng);
flg = m.matches();
//匹配手機號
System.out.println("手機號: ---(全數字,長度為11位)");
String phone = sc.nextLine();
p = Pattern.compile("[0-9]{11}");
m = p.matcher(phone);
flg = m.matches();
//匹配郵箱
System.out.println("郵箱: ---(必須包含@符號;必須包含點;點和@之間必須有字元)");
String email = sc.nextLine();
p = Pattern.compile("[@]{1}[a-zA-Z0-9]+[.]+[a-z]+");
m = p.matcher(email);
flg = m.matches();
if(flg) {
System.out.println("註冊成功");
} else {
System.out.println("資訊填寫不正確!");
}
sc.close();
}
}