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("电话号码输入有无效数字");
}
}
}
}