我需要将电话号码即时格式化为 10 位数字 - 删除所有空格、破折号、点等。
例如:(123) 321-1234/123-321-1234 变为 1233211234
我见过相反的例子,但由于我是 Javascript 的新手,所以我不知道该怎么做。
理想情况下,应该在将数字输入文本字段时或按下提交按钮时进行格式化。
PS - 我只会 HTML,所以请提供 和 标签的代码。
非常感谢您的帮助!
最佳答案
您可以使用正则表达式从文本框的值中删除所有非数字。这是一个例子:
<input type="text" id="text1" />
有了这个 JS:
function addEvent(element, eventName, callback) {
if (element.addEventListener) {
element.addEventListener(eventName, callback, false);
} else if (element.attachEvent) {
element.attachEvent("on" + eventName, callback);
}
}
addEvent(window, "load", function () {
addEvent(document.getElementById("text1"), "change", function () {
var tel = this.value;
tel = tel.replace(/\D+/g, "");
this.value = tel;
});
});
演示: http://jsfiddle.net/6vC3x/
当文本框的值发生变化(通过用户输入)并且文本框模糊(未选中)时发生替换。
整个 addEvent
函数只是希望跨浏览器始终可靠地向元素添加事件处理程序。
关于javascript - 将电话号码格式化为 10 位数字/删除多余的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350255/