2011-05-01 84 views
0

我正在嘗試爲電話號碼創建自定義驗證器方法。我希望允許用戶以任何格式輸入電話號碼,即。 (800)555-1212,800.555.1212等,然後簡單地去掉非數字字符,按我自己的格式重新格式化文本並複製到輸入字段。我玩過不同的方法,但似乎找不到合適的組合。我的最新嘗試去是這樣的:JQuery驗證電話插件#

jQuery.validator.addMethod("validphone", function(value, element, param) { 
    mNum = value.replace(/[^0-9]/g, ''); 
    if(mNum.length != 10) 
     return false; 
    else 
    return this.optional(element) || (mNum.length == 10); 
}, jQuery.validator.messages.number); 

這似乎驗證期望值,但我無法找到把格式化數回輸入字段的正確方式。從邏輯上講,我認爲它應該是$(this).val(mNum);,但這似乎不起作用。也許它由於從驗證方法被調用而失敗?

任何想法將不勝感激!

回答

2

看起來你可以在element上設置val()而不是你的參數簽名。