赞
踩
本文内容观摩的是其他作者的代码,在基础上增加修改了一些。
参考原文地址:java用正则表达式
提示:以下是本篇文章正文内容,下面案例可供参考
字符 | 描述 |
---|---|
^ | 匹配输入字符串的【开始】位置。(要匹配 ^ 字符本身,请使用 [^]) |
$ | 匹配输入字符串的【结尾】位置 |
* | 匹配前面的子表达式【零次】或【多次】。 |
+ | 匹配前面的子表达式【一次】或【多次】。 |
? | 匹配前面的子表达式【零次】或【一次】。(等价于 {0,1}) |
{n,m} | 匹配前面的子表达式出现【最少n次】,【最多m次】。 |
- | - |
. | 任意字符 |
[0-9] | 匹配数字0-9 |
[a-zA-Z] | 匹配字母 |
[a-zA-Z0-9] | 匹配字母或数字 |
[\u4e00-\u9fa5] | 匹配中文 |
- | - |
(cat竖线dog) | 匹配cat或dog |
直接上代码
package com.zdsoft.datafactory.common; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StrValidate { // 纯数字 private static String DIGIT_REGEX = "[0-9]+"; // 含有数字 private static String CONTAIN_DIGIT_REGEX = ".*[0-9].*"; // 纯字母 private static String LETTER_REGEX = "[a-zA-Z]+"; // 包含字母 private static String CONTAIN_LETTER_REGEX = ".*[a-zA-z].*"; // 纯中文 private static String CHINESE_REGEX = "[\u4e00-\u9fa5]"; // 仅仅包含字母和数字 private static String LETTER_DIGIT_REGEX = "^[a-z0-9A-Z]+$"; private static String CHINESE_LETTER_REGEX = "^[\u4e00-\u9fa5a-zA-Z-z]+"; private static String CHINESE_LETTER_DIGIT_REGEX = "^[a-z0-9A-Z\u4e00-\u9fa5]+$"; private static String CHINESE_LETTER_Num_REGEX = "^[\u4e00-\u9fa5a-zA-Z-z0-9_]+"; private static String eng = "^[a-zA-Z][a-zA-Z0-9_]*$"; private static String noSpace = "\\s*"; // JDBC:url校验 private static String JDBC_REGEX = "^jdbc:mysql://[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}:[0-9]{1,5}[/][a-zA-Z-z0-9_]{1,63}"; /** * 验证数据库连接信息URL * @param passengerName * @return */ public static boolean checkDatabaseUrls(String passengerName) { Pattern pattern = Pattern.compile(JDBC_REGEX); Matcher matcher = pattern.matcher(passengerName); if (matcher.matches()) { //符合 return true; } else { //不符合 return false; } } /** * 判断字符串是否仅含有数字和字母 * @param str * @return */ public static boolean isLetterDigit(String str) { return str.matches(LETTER_DIGIT_REGEX); } /** * 是否为汉字,不包括标点符号 * @param con * @return true 是汉字 */ public static boolean isChinese(String con) { Pattern pattern = Pattern.compile(CHINESE_REGEX); for (int i = 0; i < con.length(); i = i + 1) { if (!pattern.matcher( String.valueOf(con.charAt(i))).find()) { return false; } } return true; } /** * 用正则表达式判断字符串中是否 * 仅包含英文字母、数字和汉字 * @param str * @return */ public static boolean isLetterDigitOrChinese(String str) { return str.matches(CHINESE_LETTER_DIGIT_REGEX); } /** * 可包含汉字和字母,无其它字符 * @param passengerName * @return */ public static boolean checkChineseLetter(String passengerName) { Pattern pattern = Pattern.compile(CHINESE_LETTER_REGEX); Matcher matcher = pattern.matcher(passengerName); if (matcher.matches()) { //不包含特殊字符 return true; } else { //包含了特殊字符 return false; } } /** * 可包含汉字、字母、数字、下划线,无其它字符 * @param passengerName * @return */ public static boolean checkChineseLetterAndNum(String passengerName) { Pattern pattern = Pattern.compile(CHINESE_LETTER_Num_REGEX); Matcher matcher = pattern.matcher(passengerName); if (matcher.matches()) { //不包含特殊字符 return true; } else { //包含了特殊字符 return false; } } /** * 可包含字母、数字、下划线,无其它字符 * @param passengerName * @return */ public static boolean checkEngLetter(String passengerName) { Pattern pattern = Pattern.compile(eng); Matcher matcher = pattern.matcher(passengerName); if (matcher.matches()) { //不包含特殊字符 return true; } else { //包含了特殊字符 return false; } } /** * 空格检验 * @param passengerName * @return */ public static boolean checkSpace(String passengerName) { Pattern pattern = Pattern.compile(noSpace); Matcher matcher = pattern.matcher(passengerName); if (matcher.matches()) { //不包含特殊字符 return true; } else { //包含了特殊字符 return false; } } }
冲。
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。