Java 正则表达式 之 注册验证

http://www.verejava.com/?id=16994944659329

package com.reg;

public class TestReg
{
    public static void main(String[] args)
    {
        System.out.println(testTel("+22861232233333"));
    }
    
    /**
     * 5.   国际电话号码验证
            以数字或+开头 
            后面的必须是数字长度在 12 到 13

     */
    public static boolean testTel(String tel)
    {
        String regex="[+\\d]?\\d{12,13}";
        return tel.matches(regex);
    }
    
    /**
     * 4.   注册电子邮箱验证
                邮箱地址必须包含@字符
                邮箱@的左边必须以字母, 下划线, 数字开头, 且必须有一个
                邮箱@的左边除了开头字母其他的可以是字母, 下划线, 数字, 点号 . 小杠 -
                邮箱@的右边必须有 . 点号
                在 @ 和 . 之间必须以字母, 下划线, 数字开头, 且除了开头字母其他的可以是字母, 下划线, 数字, 点号 . 小杠 -
                在 . 点号后面至少有一个 字母, 下划线, 数字开头

     */
    public static boolean testEmail(String email)
    {
        String regex="(\\w+)([\\w+.-])*@(\\w+)([\\w+.-])*\\.\\w+";
        return email.matches(regex);
    }
    
    /**
     * 身份证验证
        身份证号码必须为15位或18位数字
     */
    public static boolean testIdentity(String identity)
    {
        String regex="\\d{15}|\\d{18}|\\d{17}X";
        return identity.matches(regex);
    }
    
    /**
     * 2.   论坛注册用户名验证
            必须以字母开头
            只能包括 字母 , 下划线 , 数字
            长度必须在6 到 10 之间

     */
    public static boolean checkUsername(String username)
    {
        //String regex="[a-zA-Z][0-9a-zA-Z_]{5,9}";
        //String regex="[a-zA-Z][\\da-zA-Z_]{5,9}";// \d  要转成 \\d
        String regex="[a-zA-Z]\\w{5,9}";
        return username.matches(regex);
    }
    
    /**
     * 1.   验证码必须是数字, 并且是4位数字
     * @param telephone
     */
    public static boolean testValidCode(String code)
    {
        //String regex="[0-9][0-9][0-9][0-9]";
        String regex="[0-9]{4}";
        return code.matches(regex);
    }
    
    public static void testTelephone2(String telephone)
    {
        String regex="1[0-9]{10}";
        boolean b=telephone.matches(regex);
        if(b)
        {
            System.out.println("有效电话号码");
        }
        else
        {
            System.out.println("无效电话号码");
        }
    }
    /**
     * 题目: 注册的时候, 验证输入手机号码的有效性 
        要求: 
            必须是1开头的
            长度为11位
            手机号码必须是数字

     * @param args
     */
    public static void testTelephone(String telephone)
    {
        //是否是1开头的
        if(!telephone.startsWith("1"))
        {
            System.out.println("电话号不是1开头的");
        }else if(telephone.length()!=11)//判断电话号码是否 11 位
        {
            System.out.println("电话号码不是11位的");
        }else
        {
            //手机号码是否为数字
            String num="0123456789";
            char[] chars=telephone.toCharArray();
            boolean isValid=true;
            for(int i=0;i<chars.length;i++)
            {
                String s=String.valueOf(chars[i]);
                if(num.indexOf(s)<0)
                {
                    isValid=false;
                }
            }
            if(isValid)
            {
                System.out.println("电话号码输入有效");
            }
            else
            {
                System.out.println("电话号码输入有无效数字");
            }
        }
    }
    
    
}

http://www.verejava.com/?id=16994944659329

猜你喜欢

转载自www.cnblogs.com/verejava/p/9232112.html