SpringBoot之@Pattern注解 參數驗證------正則驗證


  • ^ 表示匹配字符串的開始位置 (例外 用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字符串)
  • $ 表示匹配字符串的結束位置
  • * 表示匹配 零次到多次
  • + 表示匹配 一次到多次 (至少有一次)
  • ? 表示匹配零次或一次
  • . (圓點)表示匹配單個字符
  • | 表示為或者,兩項中取一項(可用於兩個正則之間)
  • ( ) 小括號表示匹配括號中全部字符
  • [ ] 中括號表示匹配括號中一個字符 范圍描述 如[0-9 a-z A-Z]
  • { } 大括號用於限定匹配次數 如 {n}表示匹配n個字符 {n,}表示至少匹配n個字符 {n,m}表示至少n,最多m
  • \ 轉義字符 如上基本符號匹配都需要轉義字符 如 \*表示匹配*號
  • \w 表示英文字母和數字 \W 非字母和數字
  • \d 表示數字 \D 非數字
  • \s表示空字符串
  • 當使用-時,需要放在最后一個位置,否則會被當成數字和字母之間區間的標識

例如:如果時間你定義的為字符類型,但是又想校驗時間的格式,就可以用到此注解

          1.校驗時間格式為:

  • yyyy-MM-dd(時間精確到日):@Pattern中的regexp="^$|^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$"
  • yyyy-MM-dd HH:mm:ss(精確到秒):@Pattern中的regexp="^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)\s+([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM