- 浏览: 103120 次
- 性别:
- 来自: 深圳
-
文章分类
- 全部博客 (209)
- http://docs.jpush.io/server/java_sdk/ (1)
- SpingMVC ModelAndView (1)
- Model (1)
- Control以及参数传递 (1)
- https://www.alipay.com/ (1)
- 检查指定的字符串列表是否不为空。 (1)
- 转自http://my.oschina.net/rpgmakervx/blog/505434 (1)
- 压缩js (1)
- 含包含 字母数字校验 (1)
- 判断浏览器是ie (1)
- fixbox (0)
- 转自http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html (1)
- http://dl2.iteye.com/upload/attachment/0113/2406/afbd8d53-dcad-3afc-8d78-41c1591 (0)
- IDEA (0)
- maven搭建 (0)
- http://www.jeasyuicn.com/api/docTtml/index.htm (1)
- 给tomcat添加运行内存: (1)
- JPUSH推送 (1)
- requestScope (0)
- oracle中plsql安装client10连接数据库 (1)
- 不需要安装oracle11g (1)
- tuikuan (1)
- http://www.hjxmall.com/index.php (1)
- java (1)
- 参考 (1)
- xml签名验签模拟程序 (1)
- 技术网站收集分享 (1)
- Java NIO提供了与标准IO不同的IO工作方式 ------来源于 http://www.iteye.com/magazines/132-Java-NIO (1)
- oracle表查询语句优化 (0)
- oracle (5)
- a (1)
- TenpayHttpClient (2)
- mongodb (1)
- http://www.qcloud.com/product/cmongo.html?utm_source=pcsem1&utm_medium=bdgj46&utm_campaign=baidu (1)
- SpringMVC整合MongoDB开发 (0)
- SpringMVC整合MongoDB开发 https://www.mongodb.org (1)
- Java 语言中常见问题总结 (1)
- 数据库SQL优化大总结 (1)
- 拦截器与过滤器的区别 (1)
- Struts2中拦截器与过滤器的区别及执行顺序 (1)
- Spring声明式事务管理与配置 (0)
- oracle OPERTION (1)
- java 高并发多线程开发 (1)
- Collection 与 map 接口相关集合 (1)
- 多线程开发实践 (1)
- JVM调优总结 转自 http://www.importnew.com/18694.html (1)
- redis 五种数据类型的使用场景 转自于 http://blog.csdn.net/gaogaoshan/article/details/41039581 (1)
- HttpWatch http基础 来自于http://blog.csdn.net/gaogaoshan/article/details/21237555 (1)
- maven 远程仓库 http://blog.csdn.net/gaogaoshan/article/details/40266779 (1)
- 生成Webservice客户端的4中方法 http://blog.csdn.net/gaogaoshan/article/details/8980775 (1)
- http://fgh2011.iteye.com/blog/1564283 (1)
- sleep和wait有什么区别 http://xiaowei2002.iteye.com/blog/2174188 (1)
- JDK中常用包及其类 常见的几种RuntimeException (1)
- Java的运行原理 (1)
- mybatis缓存的使用及理解 http://my.oschina.net/dxqr/blog/123163 (1)
- 软件架构设计分析 (1)
- redis技术总结 (3)
- java面试总结知识点 (1)
- ZooKeeper技术 (1)
- Hadoop (1)
- sso单点登录 (1)
- SpringIOC (1)
- 书签ssssssssssssssssssssss (1)
- spring事务的隔离级别 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html (1)
- 秒杀系统架构分析与实战 http://www.importnew.com/18920.html (1)
- oracle 连接plsql配置 (1)
- maven工程集成springmvc http://blog.csdn.net/fox_lht/article/details/16952683 (1)
- java类序列化与反序列化版本唯一号serialVersionUID (1)
- spring注解用法总结 (1)
- eclipse导入maven项目找不到资源文件方法 (1)
- dubbo (0)
- socket 网络编程 服务器与客户端 编程 (1)
- Thread与Runnable实现线程利用线程插队实现求和操作 (1)
- 生产者与消费者模式 (1)
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML*** (1)
- xml 与JAVAbean转换 (1)
- MAP (2)
- decimalToString (1)
- 反编译插件 (0)
- 反编译插件 https://sourceforge.net/projects/jadclipse/?source=typ_redirect (1)
- AWX (1)
- 官网地址Dinp (1)
- public interface ExecutorService extends Executor (1)
- MAIN (1)
- 转自于 http://blog.csdn.net/lufeng20/article/details/24314381 (1)
- JaxbUtil (1)
- HttpXmlClient (0)
- Http post 请求 (1)
- URLDecoder (1)
- spdb (0)
- 订单号生成规则 (1)
- 距离0点毫秒数 (1)
- MyBatis存储过程调用java (1)
- Banks (1)
- 学习网址 (1)
- hots配置oracle数据库配置修改 (1)
- 支付宝文档 (1)
- Jadclipse (1)
- filter (0)
- Filter过滤器 (1)
- 工具类 fixbox (1)
- java quartz (0)
- java quartz 实现定时任务,每个礼拜一到礼拜五定时执行 (1)
- Thread (4)
- getResourceAsStream (1)
- BigData (1)
- 开源架构 (17)
- 架构 (0)
- 文件操作 (2)
- tools (20)
- 测试工具 (1)
- vm (1)
- mq (1)
- blog (1)
- 开源架构搭建技术 (6)
- JAVA细节技术点总结 (1)
- 优化技术 (1)
- LINUX命令使用 (1)
- spring (2)
- 大数据 (1)
- struts2 (1)
- python (1)
- pay (1)
- linux (1)
- 压力测试 (1)
- 代码检查插件 (1)
- 游戏端开发 (1)
- 微信开发相关 (1)
- 搜索引擎 (1)
- 网络技术 (1)
- 分布式部署 (1)
- 堆栈信息 (1)
最新评论
/**
* Copyright (c) 2011-2014 All Rights Reserved.
*/
package com.kame.micropay.commons.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 类说明: 字符串工具类。<br>
public abstract class StringUtils {
private StringUtils() {
}
/**
* 检查指定的字符串是否为空。
* <ul>
* <li>SysUtils.isEmpty(null) = true</li>
* <li>SysUtils.isEmpty("") = true</li>
* <li>SysUtils.isEmpty(" ") = true</li>
* <li>SysUtils.isEmpty("abc") = false</li>
* </ul>
*
* @param value 待检查的字符串
* @return true/false
*/
public static boolean isEmpty(String value) {
int strLen = 0;
if (value == null || (strLen = value.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(value.charAt(i)) == false)) {
return false;
}
}
return true;
}
/**
* 用于时间查询
*
* @param str 2015-11-11
* @return 2015-11-11 00:00:00
*/
public static String getStartDate(String str){
if(isNotEmpty(str)){
return str + " 00:00:00";
}
return null;
}
/**
* 用于时间查询
*
* @param str 2015-11-11
* @return 2015-11-11 23:59:59
*/
public static String getEndDate(String str){
if(isNotEmpty(str)){
return str + " 23:59:59";
}
return null;
}
/**
* 判断一个字符串不为空
* @param str
* @return
*/
public static boolean isNotEmpty(String str){
if(!(str == null || str.trim().length() == 0)){
return true;
}
return false;
}
/**
* 检查对象是否为数字型字符串,包含负数开头的。
*/
public static boolean isNumeric(Object obj) {
if (obj == null) {
return false;
}
char[] chars = obj.toString().toCharArray();
int length = chars.length;
if(length < 1)
return false;
int i = 0;
if(length > 1 && chars[0] == '-')
i = 1;
for (; i < length; i++) {
if (!Character.isDigit(chars[i])) {
return false;
}
}
return true;
}
/**
* 方法说明:在不确认参数是否为空时使用此方法<br>
*
* @param cs1
* @param cs2
* @return
*/
public static boolean equals(CharSequence cs1, CharSequence cs2) {
return cs1 == null ? cs2 == null : cs1.equals(cs2);
}
/**
* 检查指定的字符串列表是否不为空。
*/
public static boolean areNotEmpty(String... values) {
boolean result = true;
if (values == null || values.length == 0) {
result = false;
} else {
for (String value : values) {
result &= !isEmpty(value);
}
}
return result;
}
public static String encryptEmail(String email) {
if (isEmpty(email))
return "";
int ind = email.indexOf("@");
if (ind <= 0)
return "";
String[] ss = email.split("@");
if (ind <= 2) {
return ss[0] + "***" + "@" + ss[1];
} else if (ind > 2) {
return ss[0].substring(0, 2) + "***" + "@" + ss[1];
}
return "";
}
public static boolean checkEmail(String email) {
Pattern pattern = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
public static boolean checkMobile(String mobile) {
Pattern pattern = Pattern.compile("^[1][3,4,5,8][0-9]{9}$");
Matcher matcher = pattern.matcher(mobile);
return matcher.matches();
}
/**
* 格式化银行卡号,前六后四
*
* @param cardNo
* @return
*/
public static String formatBankCardNo(String cardNo){
if(StringUtils.isEmpty(cardNo) ){
return "";
}
if(cardNo.length() <= 10){
return cardNo;
}
StringBuffer sb = new StringBuffer();
sb.append(cardNo.substring(0, 6))
.append("******")
.append(cardNo.substring(cardNo.length()-4, cardNo.length()));
return sb.toString();
}
/**
* 格式化银行卡号,隐藏至后四
*
* @param cardNo
* @return
*/
public static String formatBankCardNo1(String cardNo){
if(StringUtils.isEmpty(cardNo) ){
return "";
}
StringBuffer sb = new StringBuffer();
sb.append("**************")
.append(cardNo.substring(cardNo.length()-4));
return sb.toString();
}
/**
* 格式化手机号码
*
* @param cardNo
* @return
*/
public static String formatMobile(String mobile){
if(StringUtils.isEmpty(mobile) ){
return "";
}
if(mobile.length() <= 7){
return mobile;
}
StringBuffer sb = new StringBuffer();
sb.append(mobile.substring(0, 3))
.append("****")
.append(mobile.substring(mobile.length()-4, mobile.length()));
return sb.toString();
}
/**
* 获取银行卡后四位
*
* @param cardNo
* @return
*/
public static String getBankCardRight4(String cardNo){
if(StringUtils.isEmpty(cardNo) ){
return "";
}
if(cardNo.length() <= 4){
return cardNo;
}
return cardNo.substring(cardNo.length()-4, cardNo.length());
}
public static void main(String [] args){
System.out.println(StringUtils.formatBankCardNo("62660987999999978998767"));
System.out.println(StringUtils.getBankCardRight4("62660987999999978998767"));
System.out.println(StringUtils.formatMobile("15914119964"));
}
}
* Copyright (c) 2011-2014 All Rights Reserved.
*/
package com.kame.micropay.commons.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 类说明: 字符串工具类。<br>
public abstract class StringUtils {
private StringUtils() {
}
/**
* 检查指定的字符串是否为空。
* <ul>
* <li>SysUtils.isEmpty(null) = true</li>
* <li>SysUtils.isEmpty("") = true</li>
* <li>SysUtils.isEmpty(" ") = true</li>
* <li>SysUtils.isEmpty("abc") = false</li>
* </ul>
*
* @param value 待检查的字符串
* @return true/false
*/
public static boolean isEmpty(String value) {
int strLen = 0;
if (value == null || (strLen = value.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(value.charAt(i)) == false)) {
return false;
}
}
return true;
}
/**
* 用于时间查询
*
* @param str 2015-11-11
* @return 2015-11-11 00:00:00
*/
public static String getStartDate(String str){
if(isNotEmpty(str)){
return str + " 00:00:00";
}
return null;
}
/**
* 用于时间查询
*
* @param str 2015-11-11
* @return 2015-11-11 23:59:59
*/
public static String getEndDate(String str){
if(isNotEmpty(str)){
return str + " 23:59:59";
}
return null;
}
/**
* 判断一个字符串不为空
* @param str
* @return
*/
public static boolean isNotEmpty(String str){
if(!(str == null || str.trim().length() == 0)){
return true;
}
return false;
}
/**
* 检查对象是否为数字型字符串,包含负数开头的。
*/
public static boolean isNumeric(Object obj) {
if (obj == null) {
return false;
}
char[] chars = obj.toString().toCharArray();
int length = chars.length;
if(length < 1)
return false;
int i = 0;
if(length > 1 && chars[0] == '-')
i = 1;
for (; i < length; i++) {
if (!Character.isDigit(chars[i])) {
return false;
}
}
return true;
}
/**
* 方法说明:在不确认参数是否为空时使用此方法<br>
*
* @param cs1
* @param cs2
* @return
*/
public static boolean equals(CharSequence cs1, CharSequence cs2) {
return cs1 == null ? cs2 == null : cs1.equals(cs2);
}
/**
* 检查指定的字符串列表是否不为空。
*/
public static boolean areNotEmpty(String... values) {
boolean result = true;
if (values == null || values.length == 0) {
result = false;
} else {
for (String value : values) {
result &= !isEmpty(value);
}
}
return result;
}
public static String encryptEmail(String email) {
if (isEmpty(email))
return "";
int ind = email.indexOf("@");
if (ind <= 0)
return "";
String[] ss = email.split("@");
if (ind <= 2) {
return ss[0] + "***" + "@" + ss[1];
} else if (ind > 2) {
return ss[0].substring(0, 2) + "***" + "@" + ss[1];
}
return "";
}
public static boolean checkEmail(String email) {
Pattern pattern = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
public static boolean checkMobile(String mobile) {
Pattern pattern = Pattern.compile("^[1][3,4,5,8][0-9]{9}$");
Matcher matcher = pattern.matcher(mobile);
return matcher.matches();
}
/**
* 格式化银行卡号,前六后四
*
* @param cardNo
* @return
*/
public static String formatBankCardNo(String cardNo){
if(StringUtils.isEmpty(cardNo) ){
return "";
}
if(cardNo.length() <= 10){
return cardNo;
}
StringBuffer sb = new StringBuffer();
sb.append(cardNo.substring(0, 6))
.append("******")
.append(cardNo.substring(cardNo.length()-4, cardNo.length()));
return sb.toString();
}
/**
* 格式化银行卡号,隐藏至后四
*
* @param cardNo
* @return
*/
public static String formatBankCardNo1(String cardNo){
if(StringUtils.isEmpty(cardNo) ){
return "";
}
StringBuffer sb = new StringBuffer();
sb.append("**************")
.append(cardNo.substring(cardNo.length()-4));
return sb.toString();
}
/**
* 格式化手机号码
*
* @param cardNo
* @return
*/
public static String formatMobile(String mobile){
if(StringUtils.isEmpty(mobile) ){
return "";
}
if(mobile.length() <= 7){
return mobile;
}
StringBuffer sb = new StringBuffer();
sb.append(mobile.substring(0, 3))
.append("****")
.append(mobile.substring(mobile.length()-4, mobile.length()));
return sb.toString();
}
/**
* 获取银行卡后四位
*
* @param cardNo
* @return
*/
public static String getBankCardRight4(String cardNo){
if(StringUtils.isEmpty(cardNo) ){
return "";
}
if(cardNo.length() <= 4){
return cardNo;
}
return cardNo.substring(cardNo.length()-4, cardNo.length());
}
public static void main(String [] args){
System.out.println(StringUtils.formatBankCardNo("62660987999999978998767"));
System.out.println(StringUtils.getBankCardRight4("62660987999999978998767"));
System.out.println(StringUtils.formatMobile("15914119964"));
}
}
相关推荐
《StringUtils的深度解析与应用》 在Java编程中,处理字符串是常见的任务,Apache Commons Lang库中的StringUtils类提供了丰富的字符串操作方法,极大地提高了开发效率。本文将深入探讨StringUtils的几个重要功能,...
java获取客户端ip(经过多次代理)提示StringUtils cannot be resolved 需要先 import org.apache.commons.lang3.StringUtils; /* 内含 common-lang3.jar commons-lang3-3.9-bin.zip commons-lang3-3.9-src.zip ...
在给定的标题 "org.apache.commons.lang3.StringUtils.jar.rar" 中,我们可以看到这个压缩包包含的是 `StringUtils.jar`,实际上它是一个 `common-lang3.jar` 文件的别名。这个 JAR 包是 Apache Commons Lang 项目的...
继承了org.apache.commons.lang3.StringUtils工具类,加入了部分常用方法,使用时直接添加到项目的公共utils下,同时在pom.xml加入依赖: <!-- ...
`StringUtils` 是 Apache Commons Lang 库中的一个核心类,提供了大量关于字符串操作的实用方法,旨在作为 Java 核心库的扩展。这个库在 `commons-lang-2.5` 版本中是最新的,尽管现在可能有更新的版本,但这个版本...
org.apache.commons.lang3.StringUtils的jar包,判断字符串为空
`StringUtils`工具类是Java开发中非常常用的一个类库,主要提供了一系列静态方法来处理字符串。这个工具类在处理字符串的常见操作时提供了很大的便利,比如数组转字符串、空值检测、非空处理以及空格处理等。接下来...
`StringUtils` API 是 Apache Commons Lang 库中的一个实用工具类,专门为处理 `java.lang.String` 对象提供了丰富的静态方法。这个库是对 Java 标准库中的 `String` 类方法的一个扩展,尤其在处理 `null` 和空白...
`StringUtils`是Apache Commons Lang库中的一个核心工具类,它提供了大量的静态方法,用于处理字符串。这个类在Java开发中非常常见,因为它弥补了Java标准库中对字符串操作的不足。`StringUtils`类包含了多种字符串...
`StringUtils` jar包是Java开发中的一个实用工具库,它为处理字符串提供了许多方便的方法。这个库主要由Apache Commons Lang项目提供,这是一个广泛使用的开源组件,旨在补充Java标准库中对于字符串操作的功能不足。...
`StringUtils`是Apache Commons Lang库中的一个核心工具类,它提供了大量的静态方法,用于处理字符串。这个库在Java开发中非常常见,因为它弥补了Java标准库中对字符串操作的不足。`StringUtils`类包含了多种实用...
commons-lang3-3.1 StringUtils字符串jar包 org.apache.commons.lang3.StringUtils的jar包
在Java编程语言中,`StringUtils` 是一个非常实用的工具类,它提供了大量关于字符串操作的方法,极大地简化了对字符串的处理。这个类通常在处理字符串时提高代码的可读性和效率,尤其在处理字符串的空值、拼接、分割...
### StringUtils函数全集详解 #### 一、简介 在Java编程语言中,处理字符串是非常常见的需求之一。为了方便开发者高效地进行字符串操作,Apache Commons Lang库提供了一个强大的工具类——`StringUtils`。此工具类...
\n\t\f\r") = "" //所有控制字符都被移除 StringUtils.trim("bob") = "bob" StringUtils.trim(" bob ") = "bob" 6. public static String trimToNull(String str) 和 trim() 类似,但结果为 null 时返回 null,而...
"StringUtils.rar_android_b4a_basic_strings_utilities"这个压缩包,显然专注于介绍B4A中处理字符串的实用工具。在本教程中,我们将深入探讨B4A中的字符串处理函数和技巧,这对于任何想要提高其B4A编程技能的开发者...