• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Java正则工具类字母数字下划线、数据库url校验等

武飞扬头像
HorinJsor
帮助1


前言


一、正则基础语法

字符 描述
^ 匹配输入字符串的【开始】位置。(要匹配 ^ 字符本身,请使用 [^])
$ 匹配输入字符串的【结尾】位置
* 匹配前面的子表达式【零次】或【多次】。
匹配前面的子表达式【一次】或【多次】。
? 匹配前面的子表达式【零次】或【一次】。(等价于 {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;
        }
    }


}

学新通

总结

冲。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgekcgf
系列文章
更多 icon
同类精品
更多 icon
继续加载