我正在尝试实现电话号码。屏蔽移动网站。我不能使用jquery掩码插件,因为它不能在设备上正常工作。下面的实现在Android Chrome移动浏览器中工作良好。但是在Android默认浏览器的情况下,当我尝试使用退格键删除所有数字时,最后一些(2/3)数字/数字不清除。我猜是这个。没有更新某些文本框属性。电话没有。格式为(例如###-###-####)
HTML<input id="phoneNo" type="tel" maxlength="12" placeholder="Phone"/>
JavaScript var phoneNo = document.getElementById("phoneNo");
phoneNo.addEventListener("textInput",function(){
if(this.value.toString().length==3 || this.value.toString().length==7) {
this.value += "-";
}
});
看看jQuery on()方法,因为不是所有浏览器都支持addEventListener,我猜这就是问题所在。
http://api.jquery.com/on/Darshan请你看看http://jsfiddle.net/2dJAN/51/
在我的应用程序中,我也使用这些类型的功能。这个示例
- 将允许用户在 字段中只输入整数
- 这将自动在数字之间添加"-",如
123-456-7890
格式 可以删除字段内的所有号码。
$("#fax_field").on("keyup", function(event) { var limitField = $(this).val().trim().length; var limit = "12" this.value = this.value.replace(/[^0-9_-.]/g, ''); if (event.keyCode != 8) { if (limitField == 3) { var fax_value = $(this).val().trim().concat('-'); $("#fax_field").val(fax_value); } else if (limitField == 7) { var fax_value = $(this).val().trim().concat('-'); $("#fax_field").val(fax_value); } } if (limitField > limit) { $("#fax_field").val($(this).val().trim().substring(0, limit)); } });
请试试这个。