2016-07-11 29 views
0

我正在使用jQuery驗證插件。
我必須驗證價格輸入。
在我的數據庫中的列是浮動(7,2) 所以我的價格接受JQuery:驗證價格浮動(7,2)

  • 最大7個號碼沒有逗號 或
  • 5逗號之前號和2逗號(如最大)

我已經做了在服務器端驗證這個PHP代碼

if (strstr($price, '.') && (strlen(substr(strrchr($price, "."), 1)) > 2 || strlen($price) > 8) ) { 
    echo "invalid format"; 
} 
elseif (!strstr($price, '.')) { 
    if(strlen($price) > 5) 
    { 
     echo "invalid format"; 
    } 
} 

我需要將T他在客戶端使用jQuery驗證插件添加新方法的同樣驗證。
但我找不到真正的表達式來做到這一點。

更新

詳細描述:
我需要接受小於或等於7個位數任何數量等(12 - 1234 - 1234567).. - ..和任何數量的具有小於或等於我需要接受小於任何數量或:( - - 12345.12 12.23 123.1)

+0

客戶端驗證是所有罰款和花花公子即時反饋給用戶,但不要跳過做服務器端驗證,或者只是因爲你在cli上做了ENT。客戶說謊。 –

+0

'/^\ d {7} $ /'和'/^\ d {5} \。\ d {2} $ /',現在您只需要加入他們 – adeneo

+0

@MarcB:當然,我已經做了服務器端驗證:) – user6534060

回答

1

更新

詳細描述逗號前5位數字和小於或等於2個位數等逗號後等於7 數字像(12 - 1234 - 1234567).. - ..和任何數字少於 大於或等於逗號前5位數且小於等於2位數 逗號前像(123.1 - 12345.12 - 12.23)

如若「和小於或等於前逗號2位」「和小於或等於2個位數逗號」


編輯,更新

您可以使用pattern屬性與RegExp\d{1,5},\d{1,2}|\d{1,7}

<form> 
 
    <input type="text" 
 
     pattern="\d{1,5},\d{1,2}|\d{1,7}" 
 
     title="a) any number less than or equal 7 digits; b) any number with less than or equal 5 digits before comma and less than or equal 2 digits after comma" 
 
     required /> 
 
    <input type="submit" /> 
 
</form>

+0

我認爲** RegExp \ d {5},\ d {2} | \ d {7} **需要一些更新。它會在所有情況下顯示錯誤信息(12或123,2或123456) 並且只接受兩種情況(1234567或12345,12)(我的意思是最大值(7個數字)或(5前逗號和逗號後2) ) – user6534060

+0

你是什麼意思?只有有效值是a)七位數字;或者b)五位數字,後面跟着兩個數字,是嗎? – guest271314

+0

是的,你的RegExp接受的只有7位數字或5然後是2位數字 – user6534060