java 代码实现各数据的正则校验
最近公司的项目,关于excel导入导出,对数据要进行校验,所以就对数据的正则校验就用的比较多,自己也是一点点去查,现在项目完成了,就把所有用到的都做一个小结,或许以后还可以用到!
package org.asyware.insurance.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author zl
*
*
*/
public class DataCheckUtil {
/**
* @see 验证手机号是否合法
* @param mobiles
* @return 合法:true 不合法:false
*/
public static boolean isMobileNO(String mobile){
if (mobile.length() != 11)
{
return false;
}else{
/**
* 移动号段正则表达式
*
*/
String pat1 = "^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
/**
* 联通号段正则表达式
*/
String pat2 = "^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
/**
* 电信号段正则表达式
*/
String pat3 = "^((133)|(153)|(177)|(18[0,1,9])|(149)|(199))\\d{8}$";
/**
* 虚拟运营商正则表达式
*/
String pat4 = "^((170))\\d{8}|(1718)|(1719)\\d{7}$";
Pattern pattern1 = Pattern.compile(pat1);
Matcher match1 = pattern1.matcher(mobile);
boolean isMatch1 = match1.matches();
if(isMatch1){
return true;
}
Pattern pattern2 = Pattern.compile(pat2);
Matcher match2 = pattern2.matcher(mobile);
boolean isMatch2 = match2.matches();
if(isMatch2){
return true;
}
Pattern pattern3 = Pattern.compile(pat3);
Matcher match3 = pattern3.matcher(mobile);
boolean isMatch3 = match3.matches();
if(isMatch3){
return true;
}
Pattern pattern4 = Pattern.compile(pat4);
Matcher match4 = pattern4.matcher(mobile);
boolean isMatch4 = match4.matches();
if(isMatch4){
return true;
}
return false;
}
}
/**
* 判断导入的数据是全中文
* @param str
* @return
*/
public static boolean isChinese(String str) {
String regEx = "[\u4e00-\u9fa5]";
Pattern pat = Pattern.compile(regEx);
Matcher matcher = pat.matcher(str);
if (matcher.find()) {
return true;
}else {
return false;
}
}
/**
* 卡号校验是否是纯数字
* @param args
* @return
*/
public static boolean isNum(String str){
// String str1="[0-9]{1,}";
// Pattern pat = Pattern.compile(str1);
// Matcher matcher = pat.matcher((CharSequence)str);
// if(matcher.matches()) {
// return true;
// }else {
// return false;
// }
String regex = "^[0-9]*$";
return match(regex, str);
}
/**
* 对开户行名称如:102中国工商银行进行校验(只含有数字和汉字校验)
* @param str
* @return
*/
public static boolean isChineseAndIsNum(String str) {
String regEx = "^[0-9\u4e00-\u9fa5]+$";
Pattern pat = Pattern.compile(regEx);
Matcher matcher = pat.matcher(str);
if(matcher.find()) {
return true;
}else {
return false;
}
}
/**
* 2018-08-08
* 对日期格式进行判断
* @param date
* @return
*/
public boolean isDate(String date)
{
/**
* 判断日期格式和范围
*/
String rexp = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))";
Pattern pat = Pattern.compile(rexp);
Matcher mat = pat.matcher(date);
boolean dateType = mat.matches();
return dateType;
}
/**
* 对银行账号信息校验
* @param bankName
* @return
*/
public static boolean idBankId(String bankAccount,String bankName ) {
int a=6;
if(bankAccount.length()<a) {
return false;
}
String str=bankAccount.substring(0, 6);
String str1="402农村信用社";
String str2="623017";
String str3="623213";
int str4=16;
if((str1).equals(bankName)) {
if((str2).equals(str)||(str3).equals(str)) {
if(bankAccount.length()!=str4) {
return false;
}else {
return true;
}
}else {
return false;
}
}
String jsyh="105中国建设银行";
String str5="631700";
String str6="622280";
String str7="436742";
String js1="621467";
String js2="621700";
String js3="621081";
String js4="622700";
String js5="623668";
String js6="442228";
int str8=19;
String js7="622707";
String js8="434062";
if((jsyh).equals(bankName)) {
if((str5).equals(str)||(str6).equals(str)||(str7).equals(str)||(js1).equals(str)
||(js2).equals(str)||(js3).equals(str)||(js4).equals(str)||(js5).equals(str)||(js6).equals(str)) {
if(bankAccount.length()!=str8) {
return false;
}else {
return true;
}
}else if((js7).equals(str)||(js8).equals(str)){
if(bankAccount.length()!=str4) {
return false;
}else {
return true;
}
}else {
return false;
}
}
String nyyh="103中国农业银行";
String s="622848";
String s1="622841";
String s8="623052";
String s9="622845";
String s10="622846";
String s11="622827";
String s12="621671";
String s13="955998";
String s14="281010";
int s15=17;
if((nyyh).equals(bankName)) {
if((s).equals(str)||(s1).equals(str)||(s8).equals(str)||(s9).equals(str)
||(s10).equals(str)||(s11).equals(str)||(s12).equals(str)||(s13).equals(str)) {
if(bankAccount.length()!=str8) {
return false;
}else {
return true;
}
}else if((s14).equals(str) && bankAccount.length()==s15){
return true;
}else {
return false;
}
}
String yzyh="403中国邮政储蓄银行";
String s2="621799";
String s3="608561";
String s4="622150";
if((yzyh).equals(bankName)) {
if((s2).equals(str)||(s3).equals(str)||(s4).equals(str)) {
if(bankAccount.length()!=str8) {
return false;
}else {
return true;
}
}else {
return false;
}
}
String zgyh="104中国银行";
String zh1="621785";
String zh2="621226";
String zh3="621725";
String zh4="623569";
String zh5="621786";
String zh6="621661";
String zh7="621660";
if((zgyh).equals(bankName)) {
if((zh1).equals(str)||(zh2).equals(str)||(zh3).equals(str)||(zh4).equals(str)
||(zh5).equals(str)||(zh6).equals(str)||(zh7).equals(str)) {
if(bankAccount.length()!=str8) {
return false;
}else {
return true;
}
}else {
return false;
}
}
String gsyh="102中国工商银行";
String gs1="621723";
String gs2="621226";
String gs3="622203";
String gs4="622208";
String gs5="280600";
String gs6="622597";
String gs7="621722";
if((gsyh).equals(bankName)) {
if((gs1).equals(str)||(gs2).equals(str)||(gs3).equals(str)||(gs4).equals(str)
||(gs5).equals(str)||(gs7).equals(str)) {
if(bankAccount.length()!=str8) {
return false;
}else {
return true;
}
}else if((gs6).equals(str) && bankAccount.length()==str4) {
return true;
}else {
return false;
}
}
String jtyh="301交通银行";
String jt="622262";
if((jtyh).equals(bankName)) {
if((jt).equals(str) && bankAccount.length()==str8) {
return true;
}else {
return false;
}
}
//其他银行不作校验判断
return true;
}
/**
* @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();
}
}
java 代码实现各数据的正则校验相关推荐
- java代码转置sql数据_SQL Server中的数据科学:数据分析和转换–使用SQL透视和转置
java代码转置sql数据 In data science, understanding and preparing data is critical, such as the use of the ...
- 用java把excel数据导入oracle日期转换,Java代码兑现excel数据导入到Oracle
Java代码实现excel数据导入到Oracle 1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误) 2.代码: import java.io.File; ...
- java代码对数据库数据的CRUD操作
java代码对数据库数据的CRUD操作 前言 一.CRUD.JDBC是什么? 二.操作步骤 1.连接mqsql数据库.加载数据库驱动 2.对数据库中的表进行增.删.改.查 总结 前言 对于刚刚学习完J ...
- Java代码读取MySQL数据,遇到‘0000-00-00’报错Value ‘0000-00-00‘ can not be represented as java.sql.Date
报错 再使用Java代码读取MySQL数据的时候,读取date格式的数据,然后使用DateTimeFormatter格式化的时候突然在控制台发现了报错,Value '0000-00-00' can n ...
- 统一社会信用代码的编码格式以及js正则校验
统一社会信用代码 统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/ // 返回值为true或false functio ...
- java插入多条数据_如何使用java代码一次性往数据插入10W条数据
1. 场景 : 往数据库插入10W条记录 2. 思考方案 : 单纯的我们这里不涉及其他任何操作,我们只是想生成一个10W条记录而已,中间无其他步骤,得到的效果如下图所示, 而我们又不会mysql脚本啊 ...
- Java代码调用聚合数据---查询全国车辆违章接口返回违章结果
1.注册聚合数据账号,完成认证,申请数据接口 打开https://www.juhe.cn/,点击最右侧的注册 输入自己的信息注册就行了 注册完成后,认证一下,公司认证或者个人认证都可以,但是调用全国车 ...
- java代码验证大数据算法在竞猜足球预测分析中准确率
最近闲来无事,出于对足球的热爱,又痴迷于大数据技术,用java建了百来种算法模型,写了一个小软件,用来分析预测竞猜足球的胜平负.或许很多朋友都有疑问,竞猜足球到底怎么分析才能预测准确?竞猜足球盘口有什 ...
- 腾讯地图影像瓦片数据爬取--java代码(地图数据篇.9)
听老人家说:多看美女会长寿 地图之家总目录(建议先查看该内容) 文章末尾处提供保证可运行完整代码包,运行如有问题,可"私信"博主. 效果如下所示: 爬取后的瓦片数据可通过nginx ...
最新文章
- Dropout也能自动化了,谷歌大神Quoc Le等人利用强化学习自动找寻模型专用Dropout...
- JS写的不咋地的碰撞检测
- 生成sql 脚本没有索引
- nginx mac 服务器 html,Mac上搭建 nginx 服务器
- 软件开发人员的“七重苦”(2)
- 直播回顾:如何对付臭名昭著的 IO 夯?诊断利器来了 | 龙蜥技术
- 跟面试官侃了半小时 MySQL 事务,把原子性、一致性、持久性的实现都讲完了
- 单片机c语言编程要点,第1章单片机的C语言编程_2015要点.ppt
- 机器学习与计算机视觉(keras和mnist)
- vue-cli3.0项目的安装、创建和启动
- 电脑文本文档怎么写html视频,如何保存网页内容?如文字、图片和视频
- server2008服务器进不了桌面,解决windows server 2008 r2 登录进入桌面只显示一片蓝色背景...
- Windows10的虚拟桌面
- python的并行计算框架
- 软考真题———2018上
- java技术路线思维导图_最简单的思维导图+流程图制作神器processon
- 植物大战僵尸无尽版游泳池优秀阵容推荐(一)
- HTTP 各种状态码代表的含义
- oop 编程是什么?
- 计算机各键的名称和作用,space是哪个键键盘各键位名称及功用详解