集册 Java实例教程 使用正则表达式输入和验证用户的数据

使用正则表达式输入和验证用户的数据

欢马劈雪     最近更新时间:2020-01-02 10:19:05

441
使用正则表达式输入和验证用户的数据
/** 时代Java公众号 - N o w J a  v a . c o m 提供 **/

import java.util.Scanner;


public class Main {

  public static void main(String[] args) {

    // get user input

    Scanner scanner = new Scanner(System.in);

    System.out.println("Please enter first name:");

    String firstName = scanner.nextLine();

    System.out.println("Please enter last name:");

    String lastName = scanner.nextLine();

    System.out.println("Please enter address:");

    String address = scanner.nextLine();

    System.out.println("Please enter city:");

    String city = scanner.nextLine();

    System.out.println("Please enter state:");/* 来 自 n  o  w  j  a  v  a . c o m*/

    String state = scanner.nextLine();

    System.out.println("Please enter zip:");

    String zip = scanner.nextLine();

    System.out.println("Please enter phone:");

    String phone = scanner.nextLine();


    // validate user input and display error message

    System.out.println("\nValidate Result:");


    if (!validateFirstName(firstName))

      System.out.println("Invalid first name");

    else if (!validateLastName(lastName))

      System.out.println("Invalid last name");

    else if (!validateAddress(address))

      System.out.println("Invalid address");

    else if (!validateCity(city))

      System.out.println("Invalid city");

    else if (!validateState(state))

      System.out.println("Invalid state");

    else if (!validateZip(zip))

      System.out.println("Invalid zip code");

    else if (!validatePhone(phone))

      System.out.println("Invalid phone number");

    else

      System.out.println("Valid input.  Thank you.");

  }


  // validate first name

  public static boolean validateFirstName(String firstName) {

    return firstName.matches("[A-Z][a-zA-Z]*");

  }


  // validate last name

  public static boolean validateLastName(String lastName) {

    return lastName.matches("[a-zA-z]+(['-][a-zA-Z]+)*");

  }


  // validate address

  public static boolean validateAddress(String address) {

    return address.matches("\\d+\\s+([a-zA-Z]+|[a-zA-Z]+\\s[a-zA-Z]+)");

  }


  // validate city

  public static boolean validateCity(String city) {

    return city.matches("([a-zA-Z]+|[a-zA-Z]+\\s[a-zA-Z]+)");

  }


  // validate state

  public static 
展开阅读全文