2015-04-22 37 views
0

我試圖找出如何驗證中jQuery的一些驗證插件是合法的美國貨幣,最多兩位小數的地方零,沒有逗號或美元符號(25000.00,1.00等)jQuery的驗證插件 - 貨幣

我嘗試這個要點https://gist.github.com/jonkemp/9094324,但它似乎需要的美元符號($)

 jQuery.validator.addMethod("currency", function (value, element) { 
     return this.optional(element) 
     || /^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/.test(value); 
    }, "Please specify a valid amount"); 

我也嘗試這個堆棧溢出cliente validation using jQuery validate for currency fields 但驗證代碼不會驗證數字有兩個零(1.00實例)

jQuery.validator.addMethod("currency", function(value, element) { 
    var isValidMoney = /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value); 
      return this.optional(element) || isValidMoney; 
     }, 
     "Must be monetary (0 or 0.00)" 
    ); 

這裏是顯示這些問題http://jsfiddle.net/d4ywy0fu/

任何幫助表示讚賞

+0

哈哈得到一些負面這裏沒有理由,很想知道爲什麼 –

回答

4

我試圖找出如何驗證中jQuery的一些驗證插件是合法的美國貨幣的jsfiddle,最多兩個小數的地方零,沒有逗號或美元符號(25000.00,1.00等)

只需提供the additional-methods.js file,並使用內置currency方法如下...

currency: ["$", false] // dollar sign optional 

currency: "$" // dollar sign required (default) 

注意:逗號在所有情況下都是可選的。

DEMO:http://jsfiddle.net/d4ywy0fu/2/


注意Your jsFiddle還包含一個DOM ready handler另一個DOM準備處理程序裏面。雖然它不是有害的,但它完全是多餘的。

$(function() { // <- DOM Ready Handler 

    $(document).ready(function() { // <- DOM Ready Handler 
     .... 
+0

是啊,我借別人的jsfiddle和編輯,沒有意識到他有2個DOM處理有關問題...完美的答案,謝謝! –