您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页java正则表达式的使用:不能包含特殊字符(假设特殊字符为非字母数字的字符,也包括空格)

java正则表达式的使用:不能包含特殊字符(假设特殊字符为非字母数字的字符,也包括空格)

来源:华佗小知识
import java.util.regex.Pattern;  
import java.util.regex.Matcher;  
  
public class ValidationUtils {  
  
    // 正则表达式:propertyName不能包含特殊字符(这里假设特殊字符为非字母数字字符和空格)  
    private static final String PROPERTY_NAME_REGEX = "^[a-zA-Z0-9]+$";  
      
    // 正则表达式:businessLicense是15-18位数字或字母 
    private static final String BUSINESS_LICENSE_REGEX = "^[a-zA-Z0-9]{15,18}$";  
  
    // 预编译的正则表达式Pattern对象  
    private static final Pattern PROPERTY_NAME_PATTERN = Pattern.compile(PROPERTY_NAME_REGEX);  
    private static final Pattern BUSINESS_LICENSE_PATTERN = Pattern.compile(BUSINESS_LICENSE_REGEX);  
  
    /**  
     * 校验propertyName不能包含特殊字符  
     * @param propertyName 要校验的字符串  
     * @return 如果校验通过返回true,否则返回false  
     */  
    public static boolean isValidPropertyName(String propertyName) {  
        if (propertyName == null) {  
            return false;  
        }  
        Matcher matcher = PROPERTY_NAME_PATTERN.matcher(propertyName);  
        return matcher.matches();  
    }  
  
    /**  
     * 校验businessLicense是15-18位数字或字母  
     * @param businessLicense 要校验的字符串  
     * @return 如果校验通过返回true,否则返回false  
     */  
    public static boolean isValidBusinessLicense(String businessLicense) {  
        if (businessLicense == null) {  
            return false;  
        }  
        Matcher matcher = BUSINESS_LICENSE_PATTERN.matcher(businessLicense);  
        return matcher.matches();  
    }  
  
    public static void main(String[] args) {  
        // 测试用例  
        String testPropertyName1 = "validPropertyName";  
        String testPropertyName2 = "invalid-propertyName"; //无效
        String testBusinessLicense1 = "A1B2C3D4E5F6G7H8I9J0"; // 15位  
        String testBusinessLicense2 = "A1B2C3D4E5F6G7H8I9J0K1L2"; // 18位  
        String testBusinessLicense3 = "invalid@businessLicense"; // 无效  
  
        System.out.println("isValidPropertyName(testPropertyName1): " + isValidPropertyName(testPropertyName1)); // true  
        System.out.println("isValidPropertyName(testPropertyName2): " + isValidPropertyName(testPropertyName2)); // false  
        System.out.println("isValidBusinessLicense(testBusinessLicense1): " + isValidBusinessLicense(testBusinessLicense1)); // true  
        System.out.println("isValidBusinessLicense(testBusinessLicense2): " + isValidBusinessLicense(testBusinessLicense2)); // true  
        System.out.println("isValidBusinessLicense(testBusinessLicense3): " + isValidBusinessLicense(testBusinessLicense3)); // false  
    }  
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务