在这段代码中我希望在第一个文本框中有一个09不可更改,之后我想要一定的破折号,当我键入一个数字时,其中一个破折号消失。我的问题是,当用户类型时,我怎么能用破折号?
$('#PhoneField').val('---------09');
$("#PhoneField").keydown(function (e) {
var inputValue = $(this).val();
var inputObject = $(this);
setTimeout(function () {
if(inputObject.val().indexOf('09')!== 0){
inputObject.val('09');
}
})
})
答案 0 :(得分:0)
我相信以下代码会考虑所有要求。此外,可以在JSFiddle here中查看此内容。
$("#PhoneField").val("09---------");
$("#PhoneField").keyup(function () {
$("#PhoneField").val(function() {
var phoneNumber = $(this).val().replace(/-/g, "");
var curLength = phoneNumber.length;
// Add correct number of hyphens to front of phone number
var hyphens = Math.max(12 - phoneNumber.length, 0);
phoneNumber = phoneNumber + Array(hyphens).join("-");
// If the first characters are not 09, add them
if(phoneNumber.substring(0, 2) !== "09") {
phoneNumber = "09" + phoneNumber;
}
// Impose length limit
phoneNumber = phoneNumber.substring(0,11);
return phoneNumber;
});
});