javascript - 将电话号码格式化为 10 位数字/删除多余的字符

标签 javascript html forms trim

我需要将电话号码即时格式化为 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/

相关文章:

javascript - 将数组分解为子集

javascript - 如何在 Laravel 5.1 中将变量值从 JavaScript 发送到 Controller

JavaScript 复选框 onclick 函数

javascript - 代码在 HTML 页面中有效,但在 Wordpress 帖子中无效

php - 更新/删除多个选中的数据

javascript - 有向循环图遍历算法 (JavaScript)

javascript - 如何找到未设置高度的动态创建的表格行元素的高度?

html - 覆盖内联样式高度自动

php - 为什么我的表单变量没有通过 POST 传递?

jQuery:如何在不关闭 jQuery 对话框的情况下提交表单