2012-09-21 117 views
1

這裏是一個令人討厭的問題,我遇到了麻煩。我有一個文本字段。該文本字段需要與4種格式jquery限制在文本字段中的文本複製安全

,以適應美國的手機號碼
  1. XXX-XXX-XXXX
  2. XXXXXXXXXX
  3. XXXX-XXX-XXXX
  4. XXXXXXXXXXX

當最後字符輸入它需要做一個檢查通過阿賈克斯,我沒有問題。

我需要檢查文本框是否在輸入,複製和粘貼,刪除以及將該數字放入該字段時的每種可能方式中都有完整的手機號碼。

我試着用$(「#id」)來檢查它,但是當你粘貼東西時它不起作用。

有沒有辦法通過間隔或其他檢查,如果有10個或11個字符在該領域,無論它如何到達那裏? [編輯]

這裏是一個解決方案,我發現

var checkMsisdnInterval = window.setInterval(function() { 
    var msisdn = getdigits($("#newSessionMsisdn").val()); 

    if(msisdn.length == 10 && !checked) { 
     doPreCheck(msisdn); 
     checked = true; 
    } else if(checked == true) { 
     //do something here 
    } else { 
     //do something else 
    } 
}, (1000 * 60 * 0.1)); 

$("#newSessionMsisdn").keyup(function(){ 
    checked = false; 
}); 

function getdigits (s) { 
    return s.replace (/[^\d]/g, ""); 
} 

它像一個炸彈。感謝所有回覆

回答

0

爲什麼不在ajax調用中檢查它,使用beforeSend方法並檢查輸入字段的長度。

供您參考,http://api.jquery.com/jQuery.ajax/

+0

這將無法正常工作。例如,一個人開始輸入手機號碼。當它達到需要的長度時,它將禁用文本字段並執行ajax調用,以查看該用戶是否已選擇加入而不點擊按鈕 – Ryan

0

使用jQuery,你看着的變化情況?

http://api.jquery.com/change/

+0

.change事件是否與文本字段配合使用。我在印象之下,它只適用於選擇框 – Ryan

+0

.change事件不適用於我的文本字段,或需要20秒註冊。 (「#newSessionMsisdn」)。change(function(){checked = false;}); – Ryan