java正則校驗,java正則校驗數字

本文目錄一覽:

關於java中正則表達式的一些語句理解

//下面是完整代碼,具體的分析都在代碼注釋里:

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Test6

{

public static void main(String[] args)

{

//正則表達式字元串:

// [] 內的數字表示取值可以是任意一個,

//\d 匹配一個數字字元。等價於[0-9]。

//\ 將下一個字元標記為一個特殊字元、或一個原義字元、或一個向後引用、或一個八進位轉義符。例如,「\\n」匹配\n。

//{n} n是一個非負整數。匹配確定的n次

String regex=”1[3458][01256]\\d{8}”;

String str=”14057539559″;

/*

Pattern類:

正則表達式的編譯表示形式。

指定為字元串的正則表達式必須首先被編譯為此類的實例。

然後,可將得到的模式用於創建 Matcher 對象,依照正則表達式,該對象可以與任意字元序列匹配。

執行匹配所涉及的所有狀態都駐留在匹配器中,所以多個匹配器可以共享同一模式。

compile方法:

static Pattern compile(String regex)

將給定的正則表達式編譯到模式中。

*/

Pattern pattern=Pattern.compile(regex);

/*

* Pattern的

matcher方法

根據要匹配的字元序列 ,創建匹配給定輸入與此模式的匹配器,然後返回此模式的新匹配器。

*/

Matcher matcher=pattern.matcher(str);

/*

* Matcher的

matches()方法

嘗試將整個區域與模式匹配。

當且僅當整個區域序列匹配此匹配器的模式時才返回 true。

*/

boolean bool=matcher.matches();

if (bool==true)

{

System.out.println(“是聯通號”);

}

else

{

System.out.println(“不是聯通號”);

}

}

/*

代碼如上:。我想問的是:

(1)Pattern pattern=Pattern.compile(regex); 這句話能不能幫我分析一下。

(2)Matcher matcher=pattern.matcher(str);分析一下這句話的作用和每一部的作用。

(3) boolean bool=matcher.matches();比較不需要傳入參數?

*/

}

求java中正則表達式驗證的寫法

String s=”蘇建安A(2014)0010716″;

boolean b = s.matches(“蘇建安[ABC][(|\\(][0-9]{4}[)|\\)][0-9]{7}”);

System.out.println(b);

java密碼正則表達式(可以是純數字,也可以是純字母,也可以是數字+字母,6-16 位)

正則表達式是一種描述字元串集合的方法,它是以字元串集中各字元串的共有特徵為依據的。正則表達式可以用於探索、編輯或者操作文本和數據。它超出了Java程序設計語言的標準語法,因此有必要去學習特定的語法來構建正則表達式。正則表達式的變化是複雜的,一旦你理解了他們是如何被構造的話,你就能解析或者構建任意的正則表達式了。

密碼校驗規則如下:

1.必須包含數字、字母、特殊字元三種

2.長度至少8位

3.不能包含3位及以上相同字元的重複(hhh123@jixxx)

4.不能包含3位及以上字元組合的重複(123q123c123)

5.不能包含3位以上的正序及逆序連續字元(123#wete#321)

6.不能包含空格、製表符、換頁符等空白字元

7.支持特殊字元範圍:^$./,;:’!@#%*|?+(){}[]

按照需求進行正則表達式拆解

規則18:

str.matches(“^.*[a-zA-Z]+.*$”) str.matches(“^.*[0-9]+.*$”)

str.matches(“^.*[/^/$/.//,;:’!@#%/*/|/?/+/(/)/[/]/{/}]+.*$”)

規則2:

str.matches(“^.{8,}$”)

規則3:

!str.matches(“^.*(.)\\1{2,}+.*$”)

規則4:

!str.matches(“^.*(.{3})(.*)\\1+.*$”)

規則57:

javaImpl:

first change str to char[]

then for Math.abs(cc[0] – cc[1]) == 1 (cc[0] – cc[1]) == (cc[1] – cc[2])

如果想去掉特殊字元的連續:

first str.split(“[^\\w]+”) as str1[]

then for str1[]

then for str1[i] javaImpl:

規則6:

!str.matches(“^.*[\\s]+.*$”)

JAVA 正則法則如有驗證年份

目前仍沒有人解決1、3、5、7、8、10、12月是31天的大月問題呀

(我本是1樓)如果用正則去驗證「數值」,會很捨近求遠,不是正則的強項。需要寫很多的「向後斷言」。效率會一般甚至很低。(目前我看到的上下樓的都是有漏洞的,沒法檢驗閏月和大小月)

我所不取。

我一直用的這個:

static public boolean isValidDate(

int year, int mon, int day,

short year_min,short year_max,

StringBuffer msg)

{

if(yearyear_min || yearyear_max)

{

msg.append(“年份必須在(“+

year_min+”~”+year_max+

“)之間,輸入值(“+year+”)無效\n”);

return false;

}else{//

switch(mon){

case 1:case 3:case 5:case 7:case 8:case 10:case 12:{

if(day1 || day31){

msg.append(“日號必須在(1~31)之間,輸入值(“+day+”)無效\n”);

return false;

}

}break;

case 2:{

if(isLeapYear(year) day29){

msg.append(“閏年的閏二月日號必須在(1~29)之間,”+year+”是閏年,輸入值(“+day+”)無效\n”);

return false; }else if(day28){

msg.append(“非閏年的閏二月的日號必須在(1~28)之間,”+year+”不是閏年,輸入值(“+day+”)無效\n”);

return false;

}

}break;

case 4:case 6:case 9:case 11:{

if(day1 || day30){

msg.append(“日號必須在(1~30)之間,輸入值(“+day+”)無效\n”);

return false;

}

}break;

default:{

msg.append(“月份必須在(1~12)之間,輸入值(“+mon+”)無效\n”);

return false;

}

}

}

return true;

}

static public boolean isLeapYear(int year){

return (year%4==0 year%100!=0)|| year%400==0;

}

包好。

java正則表達式校驗 ip

你直接用matchs判斷就可以了,matcher是只要內部有能匹配上的就算滿足,不是判斷整體。

String rexp = “([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}”;

String addr = “11111.1.1.1”;

System.out.println(“1.1.1.1”.matches(rexp));

System.out.println(“11.1.1.1”.matches(rexp));

System.out.println(“111.1.1.1”.matches(rexp));

System.out.println(“11111.1.1.1”.matches(rexp));

true

true

true

false

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193446.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:02
下一篇 2024-12-01 15:02

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python循環符合要求數字求和

    這篇文章將詳細介紹如何通過Python循環符合要求數字求和。如果你想用Python求和但又不想手動輸入數字,那麼本文將是一個不錯的選擇。 一、使用while循環實現求和 sum =…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論