使用Digital Bush的maskedInput插件格式化电话号码,然后将该电话号码从屏蔽中分离出来并转换为div。我需要将div内容分成3,3和4 ...即我需要将其分成3个输入(最终将被隐藏)以将其发送回服务器。到目前为止,除了分裂之外,我的一切都在工作,我可能正在使用那个错误,而不是使用长度来分解它。
这是我现在所做的一个工作小提琴:
我就在这里:
<input id="txtPhoneNumber" name="FancyPhoneNumber" class="required phone" type="text" />
<div id="txtHiddenPhoneNumber2"></div>
用户输入并将精简值(10个数字)放入div中。然后我将该div放入三个输入字段。
$("#txtPhoneNumber").mask("(999) 999-9999");
$("#txtPhoneNumber").blur(function () {
$("#txtHiddenPhoneNumber").val("");
var charArray = $(this).val().split("");
var phoneNumber = "";
$.each(charArray, function(index, value) {
if (!isNaN(value) && value != " ") {
phoneNumber = phoneNumber + value;
}
});
$("#txtHiddenPhoneNumber2").append("<div>"+phoneNumber+"</div>")
var data =$('#txtHiddenPhoneNumber2').text();
var arr = data.match(/.{3}/g);
$("#txtHiddenPhoneNumber2").html("<input type=\"text\" value='"+arr[0] +"'>" + "<input type=\"text\" value='"+arr[1]+"'>" + "<input type=\"text\" value='"+arr[2] +"'>");
});
它正在工作,因为我只需要将最后一个数字发送到最后一个用arr [2]填充的输入字段。我假设我试图使用错误分裂。有什么想法吗?
答案 0 :(得分:2)
试试此代码
$(document).ready(function() {
$("#txtPhoneNumber").mask("(999) 999-9999");
$("#txtPhoneNumber").blur(function () {
$("#txtHiddenPhoneNumber").val("");
var data =$("#txtPhoneNumber").val();
var arr = data.match(/\d{3,4}/g);
$("#txtHiddenPhoneNumber2").html("<input type=\"text\" value='"+arr[0] +"'>" + "<input type=\"text\" value='"+arr[1]+"'>" + "<input type=\"text\" value='"+arr[2] +"'>");
});
});