Java 正则表达式验证字符串

概要:

利用正则表达式对字符串进行验证,将给定的正则表达式编译到指定标志的模式中,生成匹配的模式,然后与指定的字符串进行匹配,如果匹配符合此模式,则验证成功。

验证邮箱的格式,需要了解邮箱中“@”、“.”元素的位置和作用。

验证网址格式,需要了解网址中的协议和格式,以防验证出错。

| |目录

示例

package net.xsoftlab.baike;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public final class RegExpValidator {

	/**
	 * @param 待验证的字符串 @return如果是符合邮箱格式的字符串,返回<b>true</b>,否则为<b>false</b>
	 */
	public static boolean isEmail(String str) {
		String regex = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
		return match(regex, str);
	}

	/**
	 * @param待验证的字符串 @return如果是符合网址格式的字符串,返回<b>true</b>,否则为<b>false</b>
	 */
	public static boolean isHomepage(String str) {
		String regex = "http://(([a-zA-z0-9]|-){1,}\\.){1,}[a-zA-z0-9]{1,}-*";
		return match(regex, str);
	}

	/**
	 * @param regex 正则表达式字符串
	 * @param str 要匹配的字符串
	 * @return 如果str 符合 regex的正则表达式格式,返回true, 否则返回 false;
	 */
	private static boolean match(String regex, String str) {
		Pattern pattern = Pattern.compile(regex);// 将给定的正则表达式编译到具有给定标志的模式中
		Matcher matcher = pattern.matcher(str);// 模式进行匹配字符串
		return matcher.matches();
	}

	public static void main(String[] args) {
		String mail = "aasina@.com";
		String homePage = "http://www.sina.com.cn";
		System.out.println(mail + "邮箱是否有效:" + isEmail(mail)); // 调用方法验证邮箱
		System.out.println(homePage + "网址格式是否有效:" // 调用方法验证网址格式
				+ isHomepage(homePage));
	}
}


评论关闭
评论 还能输入200
评论关闭
评论 还能输入200
  • 全部评论(0)
资料加载中...
已关注 , 取消