package com.hengxin.qianee.utils;

import java.net.InetAddress;

public class RegexUtils {

    /**
* 用户名是否符合规范(^[\u4E00-\u9FA5A-Za-z0-9_]+$)
* @return
*/
public static boolean isValidUsername(String username) {
if (username==null || username.trim() == "") {
return false;
} return username.matches("^[\u4E00-\u9FA5A-Za-z0-9_]{2,10}$");
} /**
* 密码是否符合规范([a-zA-Z\d]{6,20})
* @return
*/
public static boolean isValidPassword(String password) {
if (null == password) {
return false;
} return password.matches("^([^\\s'‘’]{6,20})$");
}
// public static boolean isValidPassword(String password) {
// if (null == password) {
// return false;
// }
//
// return password.matches("[a-zA-Z\\d]{6,20}");
// }
/**
* 是否有效手机号码
* @param mobileNum
* @return
*/
public static boolean isMobileNum(String mobileNum) {
if (null == mobileNum) {
return false;
} return mobileNum.matches("^((13[0-9])|(14[4,7])|(15[^4,\\D])|(17[6-8])|(18[0-9]))(\\d{8})$");
} /**
* 是否有效邮箱
* @param email
* @return
*/
public static boolean isEmail(String email) {
if (null == email) {
return false;
} return email.matches("^([a-zA-Z0-9])+([a-zA-Z0-9_.-])+@([a-zA-Z0-9_-])+((\\.[a-zA-Z0-9_-]{2,3}){1,2})$");
} /**
* 是否是QQ邮箱
*/
public static boolean isQQEmail(String email){
if(null == email)
return false; return email.matches("^[\\s\\S]*@qq.com$");
} /**
* 是否数字(小数||整数)
* @param number
* @return
*/
public static boolean isNumber(String number) {
if (null == number) {
return false;
} return number.matches("^[+-]?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d)+)?$");
} /**
* 是否整数
* @param number
* @return
*/
public static boolean isInt(String number) {
if (null == number) {
return false;
} return number.matches("^[+-]?(([1-9]{1}\\d*)|([0]{1}))$");
} /**
* 是否正整数
* @param number
* @return
*/
public static boolean isPositiveInt(String number) {
if (null == number) {
return false;
} return number.matches("^[+-]?(([1-9]{1}\\d*)|([0]{1}))$");
} /**
* 是否日期yyyy-mm-dd(yyyy/mm/dd)
* @param date
* @return
*/
public static boolean isDate(String date) {
if (null == date) {
return false;
}
return date.matches("^([1-2]\\d{3})[\\/|\\-](0?[1-9]|10|11|12)[\\/|\\-]([1-2]?[0-9]|0[1-9]|30|31)$");
} /**
* 逗号分隔的正则表达式
* @param str
* @return
*/
public static String getCommaSparatedRegex(String str) {
if (str == null) {
return null;
} return "^("+str+")|([\\s\\S]*,"+str+")|("+str+",[\\s\\S]*)|([\\s\\S]*,"+str+",[\\s\\S]*)$";
} /**
* 字符串包含
* @return
*/
public static boolean contains(String str, String regex) {
if (str == null || regex == null) {
return false;
} return str.matches(regex);
} /**
* 是否为16,19或者22位银行账号
* @param bankAccount
* @return
*/
public static boolean isBankAccount(String bankAccount){
if (null == bankAccount) {
return false;
} return bankAccount.matches("^(\\d{19}|\\d{16}|\\d{22})$");
} /**
* 获取本机IP
* @return
*/
public static String getIp(){ InetAddress ia=null;
try {
ia=ia.getLocalHost(); String localip=ia.getHostAddress();
//String localname=ia.getHostName();
//System.out.println("本机名称:"+ localname);
//System.out.println("本机的ip :"+localip); return localip;
} catch (Exception e) {
e.printStackTrace();
} return "127.0.0.1";
} }

java 后台校验格式的更多相关文章

  1. @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 前台request 获取body的格式是正确的 (2018-03-23 16:44:22) 但是Java 后台却格式化成了yyyy-MM-dd的格式 巨坑(@InitBinder搞得贵)

    最近做项目时,同事写的功能总是格式化时间不正确,Java类属性明明注解了@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")  但就是硬 ...

  2. java后台校验 hibernate validator

    链接 : https://www.cnblogs.com/softidea/p/6044123.html

  3. js前台传数组,java后台接收转list,前后台用正则校验

    前台,传参数时,将数组对象转换成json串,后台java收到后用 JSONArray.fromObject 转成集合. 前台js:var params = {"FileNameList&qu ...

  4. ajax提交数据到java后台,并且返回json格式数据前台接收处理值

    1.前台html页面.有一段代码如下: 账  户:  <input type="text" name="userName" id="userN& ...

  5. fastJson java后台转换json格式数据

    什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...

  6. fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map

    作者:buster2014 推荐:长安散人 fastJson在java后台转换json格式数据探究(二)--处理数组/List/Map JSON字符串与Java对象的转换 1.将Java对象或Java ...

  7. C#picturebox控件图片以json格式上传java后台保存

    关于winform上传图片到Java后端,保存到数据库,有多种方法,本文主要介绍利用picturebox控件,点击按钮上传图片,将图片转化为base64格式,以json格式上传到Java后台,再从ja ...

  8. java 后台实现ajax post跨域请求传递json格式数据获取json数据问题

    参考大神:http://blog.csdn.net/chunqiuwei/article/details/19924821 java后台: public String ajaxProxy(Intege ...

  9. 如何用CropBox实现头像裁剪并与java后台交互

    如何用CropBox实现头像裁剪并与java后台交互 参考网站:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob 参考: http://blo ...

随机推荐

  1. 为linux系统添加虚拟内存swap分区

    阿铭linux学习笔记之swap分区 一.作用: swap分区是交换分区,在系统物理内存不足时与swap进行交换,对web服务器的性能影响极大,通过调整swap分区大小来提升服务器的性能,节省资源费用 ...

  2. Determining Current Block and Current Item in Oracle Forms

    SYSTEM.CURSOR_BLOCK Determining current block in Oracle Forms Using SYSTEM.CURSOR_BLOCK system varia ...

  3. Openstack+Kubernetes+Docker微服务实践之路--基础设施

    近两年微服务在网上聊的如此的如火如荼,备受关注,我在去年下半年的一个项目中也用到了阿里云的EDAS.HSF,深有体会,最近时间空闲出于好奇,决定一探究竟打算自建微服务平台,基本实现EDAS.HSF的功 ...

  4. (原创)Windows和Linux间共享文件

    方法一: Windows创建目录sharedir,修改共享属性,对everyone开放读写权限. Linux下运行命令:# mount -t cifs //192.168.8.55/sharedir ...

  5. sqlalchemy 优化count()……

    一.sqlalchemy 中的count() count()统计数据特别慢: session.query(cls).count()  8W 数据花费了近50s 但是在数据库中直接查询: select ...

  6. keyup与setInterval

    <html><body> <input type="text" id="clock" size="35" /& ...

  7. linux重启命令学习

    Linux关闭和重启系统一般使用相同的命令可以实现. 在Linux系统下常用在关机/重启命令有shutdown.halt.reboot和init,但每个命令的内部工作过程是不同的. 1.shutdow ...

  8. Appium自动化测试1 - 安装部署

    主要参考文章“虫师”自动化部署教程,不过结合自己的一些情况记录此博客~ 1.准备安装包 1)jdk; 下载及安装过程省略,我下载的是jdk1.7版本. 2) adt&SDK; SDK下载的是e ...

  9. Python学习(14)模块二

    一:_name_ Python中if _name_ == '_main_'的解析 当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍 ...

  10. 使用spark与ElasticSearch交互

    使用 elasticsearch-hadoop 包,可在 github 中搜索到该项目 项目地址 example import org.elasticsearch.spark._ import org ...