1. 程式人生 > >java web項目中後臺控制層對參數進行自定義驗證 類 Pattern

java web項目中後臺控制層對參數進行自定義驗證 類 Pattern

span 快捷方式 pattern 例如 att ice 模式 匹配 ret

Pattern pattern = Pattern.compile("/^([1-9]\\d+元*|[0]{0,1})$/");//將給定的正則表達式編譯到模式中
  if(!"".equals(mmshop.getOriginalPrice().trim())){          
    if(!pattern.matcher(mmshop.getOriginalPrice().trim()).matches()){ map.put("msg","請輸入數字或xxx元,並確保格式正確"); map.put("code","500"); eturn
map;   }   }

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

Pattern pattern = Pattern.compile("/^([1-9]\\d+元*|[0]{0,1})$/");//將給定的正則表達式編譯到模式中

2.增加去除參數的前後空白條件判斷

if(!"".equals(mmshop.getOriginalPrice().trim())){ 
  .......  
}

3.a.創建匹配給定輸入與此模式的匹配器 b.編譯給定正則表達式並嘗試將給定輸入與其匹配

if(!pattern.matcher(mmshop.getOriginalPrice().trim()).matches()){
   map.put(
"msg","請輸入數字或xxx元,並確保格式正確"); map.put("code","500"); return map; }

4.推薦:快捷方式 編譯給定正則表達式並嘗試將給定輸入與其匹配

/*
參數:
regex - 要編譯的表達式
input - 要匹配的字符序列 
*/
Pattern.compile(regex).matcher(input).matches() 

例如:

if(!Pattern.compile("/^([1-9]\\d+元*|[0]{0,1})$/").matcher(mmshop.getOriginalPrice().trim()).matches()){ 
map.put(
"msg","請輸入數字或xxx元,並確保格式正確"); map.put("code","500");
  return map;
}

java web項目中後臺控制層對參數進行自定義驗證 類 Pattern