【java】常用正则表达式校验,邮箱手机号等等

Java 正则表达式用法 18 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$17 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 阅读详情
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
/**
 * 正则验证工具
 *
 */
public class RegularUtil {
    /**
     * 正则表达式:验证用户名
     */
    public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,20}$";
 
    /**
     * 正则表达式:验证密码
     */
    public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,20}$";
 
    /**
     * 正则表达式:验证手机号
     */

    public static final String REGEX_MOBILE = "^((13[0-9])|(14[0-9])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
 
    /**
     * 正则表达式:验证邮箱
     */
    public static final String REGEX_EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
 
    /**
     * 正则表达式:验证汉字
     */
    public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$";
 
    /**
     * 正则表达式:验证身份证
     */
    public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";
 
    /**
     * 正则表达式:验证URL
     */
    public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
 
    /**
     * 正则表达式:验证IP地址
     */
    public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
 
    /**
     * 校验用户名
     * 
     * @param username
     * @return 校验通过返回true,否则返回false
     */
    public static boolean isUsername(String username) {
        return Pattern.matches(REGEX_USERNAME, username);
    }
 
    /**
     * 校验密码
     * 
     * @param password
     * @return 校验通过返回true,否则返回false
     */
    public static boolean isPassword(String password) {
        return Pattern.matches(REGEX_PASSWORD, password);
    }
 
    /**
     * 校验手机号
     * 
     * @param mobile
     * @return 校验通过返回true,否则返回false
     */
    public static boolean isMobile(String mobile) {
    	if(Help.isNull(mobile)){
    		return false;
    	}
        return Pattern.matches(REGEX_MOBILE, mobile);
    }
 
    /**
     * 校验邮箱
     * 
     * @param email
     * @return 校验通过返回true,否则返回false
     */
    public static boolean isEmail(String email) {
    	if(Help.isNull(email)){
    		return false;
    	}
        return Pattern.matches(REGEX_EMAIL, email);
    }
 
    /**
     * 校验汉字
     * 
     * @param chinese
     * @return 校验通过返回true,否则返回false
     */
    public static boolean isChinese(String chinese) {
        return Pattern.matches(REGEX_CHINESE, chinese);
    }
 
    /**
     * 校验身份证
     * 
     * @param idCard
     * @return 校验通过返回true,否则返回false
     */
    public static boolean isIDCard(String idCard) {
        return Pattern.matches(REGEX_ID_CARD, idCard);
    }
 
    /**
     * 校验URL
     * 
     * @param url
     * @return 校验通过返回true,否则返回false
     */
    public static boolean isUrl(String url) {
        return Pattern.matches(REGEX_URL, url);
    }
 
    /**
     * 校验IP地址
     * 
     * @param ipAddr
     * @return
     */
    public static boolean isIPAddr(String ipAddr) {
        return Pattern.matches(REGEX_IP_ADDR, ipAddr);
    }
    
    /**
     * 营业执照 统一社会信用代码(18位)
     * @param license
     * @return
     */
    public static boolean isLicense18(String businessCode) {
    	if(Help.isNull(businessCode)) {
        	return false;
        }
		if(businessCode.length() != 18) {
			return false;
		}
		String baseCode = "0123456789ABCDEFGHJKLMNPQRTUWXY";
        char[] baseCodeArray = baseCode.toCharArray();
        Map<Character, Integer> codes = new HashMap<Character, Integer>();
        for (int i = 0; i < baseCode.length(); i++) {
            codes.put(baseCodeArray[i], i);
        }
        char[] businessCodeArray = businessCode.toCharArray();
        Character check = businessCodeArray[17];
        if (baseCode.indexOf(check) == -1) {
            return false;
        }
        int[] wi = { 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28 };
        int sum = 0;
        for (int i = 0; i < 17; i++) {
            Character key = businessCodeArray[i];
            if (baseCode.indexOf(key) == -1) {
                return false;
            }
            sum += (codes.get(key) * wi[i]);
        }
        int value = 31 - sum % 31;
        return value == codes.get(check);
	}
}

 

Java基础学习总结(21)——常用正则表达式列表 很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,包括校验数字、字符、一些特殊的需求等等。给自己留个底,也给朋友们做个参考。 一、校验数字的表达式 数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字 阅读详情

相关推荐

在windows10/11中使用ipatool提取苹果app安装包ipa文件

本文介绍了在Windows10/11系统中使用ipatool工具下载苹果App安装包(.ipa)的详细步骤。首先需准备Windows电脑、AppleID账号并下载ipatool工具;具体操作包括:登录AppleID、搜索应用、获取购买授权、查看历史版本及下载指定版本。关键步骤强调获取授权的重要性,并提供了常用命令速查表,帮助用户完成从登录到下载的全过程。该教程适用于需要获取旧版本App或进行应用测试的场景。

zhengshaolin128的博客 2582

java正则表达式大全(手机号、身份证、地址、姓名、邮箱、银行卡等...)

正则表达式java代码 正则验证包含:手机号、身份证、银行卡、姓名、邮箱、地址。 import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class testsensitivedemo { public static void main(String[] args) { String regex = "1\\d{10}";//手机号 简单

rm_rf1024的博客 5864

YOLOv8实例分割实战:从LabelMe标注到模型训练全流程(附完整代码)

本文详细介绍了YOLOv8实例分割的完整实战流程,涵盖从使用LabelMe进行数据标注、格式转换,到构建数据集、配置参数并完成模型训练的全过程。文章提供了详尽的代码示例和常见问题解决方案,旨在帮助开发者高效掌握YOLOv8实例分割技术,快速应用于实际项目。

java5的博客 814

身份证、手机号、邮箱、银行卡、企业税号等正则校验

身份证号正则校验: 前6位首位不为0的数字,中间年份 18|19|20 后面两位数字, 月份 1到12月, 日期 1到31, 最后四位前三位数字,最后一位 数字 | X | x /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ 手机号正则校验 /^1[3456789]\d{9}$/ 固定电话校验 开头为0的3到4为区号,加符号 - (或者不加) 号码7到

qq_39228093的博客 1万+

手把手教你复现IEEE 2025高光谱图像盲超分算法DBSR(附开源代码与避坑指南)

本文详细介绍了如何从零复现IEEE 2025高光谱图像盲超分算法DBSR,包括环境配置、数据预处理、核心模块解析、训练策略及常见问题解决方案。特别针对开源代码中的关键步骤和潜在问题提供了实用指南,帮助研究者和开发者高效实现Deep blind super-resolution技术,适用于遥感、医疗等领域的图像增强应用。

weixin_42524708的博客 413

计量经济学(因果关系探究-空间双重差分模型: 破解空间溢出效应的因果分析工具)

本文介绍了传统双重差分(DID)模型及其局限性,重点阐述了空间DID模型的必要性。传统DID通过组间差分分离干预效应,但无法处理空间溢出效应。空间DID模型引入空间计量方法,包括三种类型:空间自回归模型(SDID-SAR)捕捉因变量溢出,空间误差模型(SDID-SEM)处理残差相关性,空间杜宾模型(SDID-SDM)同时考虑因变量和自变量的空间滞后。模型选择需结合空间相关性检验,适用于环境政策、房地产限购等存在空间交互效应的研究场景。

YBAdvanceFu的博客 2031

Java正则表达式详解

正则表达式可以用一些规定的字符来制定规则,并用来校验数据格式的合法性。正则表达式就是用来验证各种字符串的规则。

weixin_53622554的博客 6930

【5G全网建设】Option3X和Option2模式建安市、兴城市和四水市核心网、承载网网络设计与部署

拓扑规划: Option 3X网络拓扑图规划 Option 2网络拓扑图规划 设备部署: 建安市核心网 建安市承载中心机房 建安市骨干汇聚机房 建安市3区汇聚机房 建安市C站点无线机房 兴城市核心网 兴城市承载中心机房 兴城市骨干汇聚机房 兴城市2区汇聚机房 兴城市B站点无线机房 数据配置: 建安市核心网 建安市承载中心机房 建安市骨干汇聚机房 建安市3区汇聚机房 建安市C站点无线机房 兴城市核心网 兴城市承载中心机房 兴城市骨干汇聚机房 兴城市2区汇聚机房 兴城市B站点无线机房 业务调试

weixin_67183034的博客 8854

Java-正则表达式验证邮箱

请根据给出的正则表达式来验证邮箱格式是否合法,如果用户输入的格式合法则输出「邮箱格式合法」,否则输出「邮箱格式不合法」。 import java.util.Scanner; import java.util.regex.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scann

席木木的博客 1万+

2024广东省职业技能大赛云计算——集群部署GitLab

题目是这样的:在Kubernetes集群中新建命名空间gitlab-ci,将GitLab部署到该命名空间下,Deployment和Service名称均为gitlab,以NodePort方式将80端口对外暴露为30880,设置GitLab服务root用户的密码为admin@123,将项目包demo-2048.tar.gz导入到GitLab中并命名为demo-2048。GitLab是一个功能强大且灵活的 DevOps 平台,为开发团队和企业提供了从代码管理到持续集成、交付和部署的一整套解决方案。

kuuuugua的博客 4396

某盾blackBox逆向——纯算

某盾blackBox逆向——纯算

Lzyydsb的博客 5892

Java表单验证封装类

本文转载自:http://ctojxzsycztao.iteye.com/blog/390949 package com.tongrong.utils; import java.util.Collection; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Patt

zt689的专栏 1163

基于RK3588的YOLOv11目标检测NPU加速系统设计与实现——模型转换(RKNN)、量化与板端部署全流程(含环境搭建与疑难解析)

而RK3588芯片则是一款性能强劲的边缘计算芯片,将YOLOv11部署在RK3588上,可实现本地化的智能检测应用,比如工业质检中的产品缺陷识别、安防领域的异常行为监测等。比如,优化模型的推理速度,可通过调整模型的输入尺寸、使用更高效的推理框架等方式实现;可以使用RK提供的量化工具来完成这一过程,按照工具的使用说明,对ONNX模型进行量化,生成适用于RK3588的模型文件。现在,你已经掌握了从环境搭建到模型部署的全流程,赶快动手实践,让YOLOv11在RK3588上绽放智能光彩,打造属于你的AI应用吧!

m0_71589036的博客 45

Java常用正则表达式(身份证号、邮箱、手机号)格式校验

若要在 Java 里使用正则表达式校验身份证号,同时允许输入为空字符串,可在原有的身份证号校验正则表达式基础上,增加对空字符串的匹配。在 Java 中,若要校验邮箱且允许空字符串,可以在原本用于校验邮箱格式的正则表达式基础上添加对空字符串的匹配规则。以下为你提供针对中国大陆手机号和通用手机号的校验正则表达式,同时支持空字符串校验的 Java 代码示例。

TEUTEU的博客 5385

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java后端常用正则表达式输入性校验(例如手机号,座机号,邮箱,网络地址,姓名,日期,IP地址等)汇总

Java后端常用正则表达式输入性校验汇总,分享给大家。 源码下载地址 直接上Java代码: /** * //验证数据的正则表达式 检查是否非负浮点数 /// <param name="InPut">要检查的字串</param> /// <returns>bool</returns...

一火的专栏 3770

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java 常用的正则表达式校验,欢迎自提

这里呢,是按照我们的一套校验,大家也可以自行修改,很方便,很贴心 /坏笑 /** * 正则表达式:验证用户名(不包含中文和特殊字符)如果用户名使用手机号码或邮箱 则结合手机号验证和邮箱验证 */ public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,17}$"; /** * 正则表达式:验证密码(不包含特殊字符) */...

as89751的博客 935

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java 正则表达式数据校验

对前端转过来的数据进行校验,验证数据是否合法; 对用户名、密码、手机号、邮箱、身份证、中文进行校验.....

Cloud 专栏 1万+

ValidateUtil常用验证工具类,如手机、密码、邮箱等

package cn.com.ssk.util.utils; import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; /** * 常用的一些验证,如手机、移动号码、联通号码、电信号码、密码、座机、 邮政编码、邮箱、年龄、身份证、URL、QQ、汉字、字母、数...

梓鸿 2011

JAVA 最常用实用的正则表达式校验

@Author:JCccc @Description: 常用正则表达式校验工具类 @Date: */ public class RegExUtil { //纯数字 public static final String REGEX_NUMBER = “1*$”; //非0开头数字 public static final String REGEX_NUMBER_NOTZERO = “^(0|[1-9][0-9]*)$”; //邮箱地址 public static final String REG..

m0_52267935的博客 3773

java 正则 工具类_正则表达式工具类,正则表达式封装,Java正则表达式

正则表达式工具类正则表达式封装Java正则表达式>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.蕃薯耀 2016年4月6日 0...

weixin_39965283的博客 157

Android 常用正则表达式,阿里巴巴内部spring宝典意外流出

19 浮点数:^(-?\d+)(.\d+)?$ 或 ^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$ 二、校验字符的表达式 1 汉字:1{0,}$ 2 英文和数字:2+$ 或 3{4,40}$ 3 长度为3-20的所有字符:^.{3,20}$ 4 由26个英文字母组成的字符串:4+$ 5 由26个大写英文字母组成的字符串:5+$ 6 由26个小写英文字母组成的字符串:6+$ 7 由数字和26个英文字母组成的字符串:7+$ 8 由数字、26个英文字母或者下划线组成的字符串:^\

m0_66155412的博客 2738

Android edittext输入的身份证号 邮箱 中文格式是否正确

import java.util.regex.Pattern; public class JudgeUtils { /** * 正则表达式:验证用户名(不包含中文和特殊字符)如果用户名使用手机号码或邮箱 则结合手机号验证和邮箱验证 */ public static final String REGEX_USERNAME = "^[a-zA-Z]\\w{5,17}$"; /**

dxt8305的博客 1992

【Java基础】14.正则表达式

正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java 提供了 java.util.regex 包,通过 java.util.regex 包中的类和方法,我们可以在 Java 程序中使用正则表达式进行字符串处理。

qq_15079371的博客 2471

我的Java开发生涯记(28)——正则表达式大全

2019.9.3著 今天遇到一个bug,要求校验输入框的值为0到1(包括0,1)保留两位小数的数字。 这个时候使用者则表达式可以在页面及时校验。 校验的表达式为: function checkData(el){ var data= $(el).val(); var rep = /^([01](\.0+)?|0\.([1-9]|[0-9][1-9]))$/; if...

weixin_43908950的博客 327

java正则表达式 工具类_常用java正则表达式的工具类

本文实例为大家分享了java正则表达式工具类的具体代码,供大家参考,具体内容如下import com.google.common.base.Strings;import java.util.regex.Matcher;import java.util.regex.Pattern;/*** 常用的正则表达式* Created by tookbra on 2016/4/7.*/public class...

weixin_34993796的博客 903
上一篇: Springboot项目编译正常启动Unable to start embedded Tomcat报错,A child container failed during start
下一篇: springboot发送邮件的一个小坑
jcmcom
博客等级 码龄12年 8粉丝 61原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值