Java简单注册格式验证(正则表达式)

来源:互联网 发布:nba2k17欧文捏脸数据 编辑:程序博客网 时间:2024/05/16 08:14

一、用正则表达式写的简单的注册验证,具体要求如下:

用户注册验证(用户名,密码,昵称,中文名字,手机号,邮箱)所有信息符合以下条件才允许注册:

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();    }}
0 0