这是一个令人难以置信的问题,我遇到了麻烦。我有一个文本字段。此文本字段需要容纳 4 种格式的美国手机号码
- XXX-XXX-XXXX
- XXXXXXXXXX
- X-XXX-XXX-XXXX
- XXXXXXXXXXXX
当输入最后一个字符时,它需要通过 ajax 进行检查,我对此没有任何问题。
在输入、复制和粘贴、删除以及在该字段中输入数字的所有可能方式时,我需要检查文本框是否包含完整的手机号码。
我尝试用 $("#id").keyup 检查它,但是当你粘贴一些东西时它不起作用。
有没有办法通过间隔或其他方式检查该字段中是否有 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, "");
}
它像炸弹一样工作。感谢所有的答复