常用java正則表達(dá)式的工具類
更新時(shí)間:2018年01月30日 16:01:26 作者:小甜瓜安東泥
這篇文章主要為大家詳細(xì)介紹了常用java正則表達(dá)式的工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了java正則表達(dá)式工具類的具體代碼,供大家參考,具體內(nèi)容如下
import com.google.common.base.Strings; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 常用的正則表達(dá)式 * Created by tookbra on 2016/4/7. */ public class RegexUtils { /** * 判斷是否是正確的IP地址 * * @param ip * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean isIp(String ip) { if (Strings.isNullOrEmpty(ip)) return false; String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\." + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"; return ip.matches(regex); } /** * 判斷是否是正確的郵箱地址 * * @param email * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean isEmail(String email) { if (Strings.isNullOrEmpty(email)) return false; String regex = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; return email.matches(regex); } /** * 判斷是否含有中文,僅適合中國(guó)漢字,不包括標(biāo)點(diǎn) * @param text * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean isChinese(String text) { if (Strings.isNullOrEmpty(text)) return false; Pattern p = Pattern.compile("[\u4e00-\u9fa5]"); Matcher m = p.matcher(text); return m.find(); } /** * 判斷是否正整數(shù) * * @param number * 數(shù)字 * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean isNumber(String number) { if (Strings.isNullOrEmpty(number)) return false; String regex = "[0-9]*"; return number.matches(regex); } /** * 判斷幾位小數(shù)(正數(shù)) * * @param decimal * 數(shù)字 * @param count * 小數(shù)位數(shù) * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean isDecimal(String decimal, int count) { if (Strings.isNullOrEmpty(decimal)) return false; String regex = "^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){" + count + "})?$"; return decimal.matches(regex); } /** * 判斷是否是移動(dòng)手機(jī)號(hào)碼 * * @param phoneNumber * 移動(dòng)手機(jī)號(hào)碼 * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean isMobilePhoneNumber(String phoneNumber) { if (Strings.isNullOrEmpty(phoneNumber)) return false; String regex = "^((13[0-9])|(15[0-9])|(18[1-9]))\\d{8}$"; return phoneNumber.matches(regex); } /** * 判斷是否是手機(jī)號(hào)碼 * * @param phoneNumber * 移動(dòng)手機(jī)號(hào)碼 * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean isPhoneNumber(String phoneNumber) { if (Strings.isNullOrEmpty(phoneNumber)) return false; String regex = "^1\\d{10}$"; return phoneNumber.matches(regex); } /** * 判斷是否含有特殊字符 * * @param text * @return boolean true,通過(guò),false,沒(méi)通過(guò) */ public static boolean hasSpecialChar(String text) { if (Strings.isNullOrEmpty(text)) return false; if (text.replaceAll("[a-z]*[A-Z]*\\d*-*_*\\s*", "").length() == 0) { // 如果不包含特殊字符 return true; } return false; } private static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) { return true; } return false; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- 深入淺析Java常用的格式化Json工具類
- Java常用工具類庫(kù)——Hutool的使用簡(jiǎn)介
- Java常用工具類匯總 附示例代碼
- Java常用類庫(kù)Apache Commons工具類說(shuō)明及使用實(shí)例詳解
- java常用工具類 Reflect反射工具類、String字符串工具類
- java常用工具類 Date日期、Mail郵件工具類
- java常用工具類 UUID、Map工具類
- java常用工具類 Random隨機(jī)數(shù)、MD5加密工具類
- java常用工具類 數(shù)字工具類
- java常用工具類 XML工具類、數(shù)據(jù)驗(yàn)證工具類
- java常用工具類 IP、File文件工具類
- 詳解Java常用工具類—泛型
- Java常用工具類—集合排序
- java處理字節(jié)的常用工具類
- java自定義封裝StringUtils常用工具類
- Java語(yǔ)言Lang包下常用的工具類介紹
- Java_int、double型數(shù)組常用操作工具類(分享)
- Java常用工具類總結(jié)
相關(guān)文章
使用Kubernetes和Docker部署Java微服務(wù)詳細(xì)代碼
Java微服務(wù)項(xiàng)目是一種基于Java技術(shù)棧的分布式系統(tǒng)開(kāi)發(fā)方式,下面這篇文章主要給大家介紹了關(guān)于使用Kubernetes和Docker部署Java微服務(wù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07Java實(shí)現(xiàn)文件讀取和寫(xiě)入過(guò)程解析
這篇文章主要介紹了Java實(shí)現(xiàn)文件讀取和寫(xiě)入過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值。,需要的朋友可以參考下2019-10-10全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試
這篇文章主要介紹了全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02使用Thrift實(shí)現(xiàn)跨語(yǔ)言RPC的調(diào)用
Thrift最大的優(yōu)勢(shì)就是可以實(shí)現(xiàn)跨語(yǔ)言RPC調(diào)用,尤其在一些大廠,微服務(wù)各模塊之間使用不同的語(yǔ)言是很常見(jiàn)的,本文就將使用java作為服務(wù)端,用python作為客戶端,實(shí)現(xiàn)不同語(yǔ)言之間的RPC調(diào)用,需要的可以參考下2023-10-10