将电话号码格式化为10位数字/删除多余字符
Format Phone # into 10 Digits / Remove extra characters
我需要将一个电话号码快速格式化为10位数-删除所有空格、破折号、点等。
EX:(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
函数只是希望能够在浏览器之间一致地向元素可靠地添加事件处理程序。
只需将所有非数字字符替换为空字符串。
("(123) 321-1234").replace(/[^'d]/g, '')
不是完美的解决方案,但会起作用。如果您需要从字符串中提取一个出现诸如"/"之类的字符之前的数字,然后使用regex''D从字符串中删除非数字字符,然后在下面的示例US Tel format中以所需格式映射数字,请使用split。
`let rawString = "111.222.3333 / need to remove this text (some more text)"
const formatTelNumber = (phoneNumberString) => {
let stringWithNumber = phoneNumberString.split("/")[0]
let cleaned = ("" + stringWithNumber).replace(/'D/g, "")
let match = cleaned.match(/^('d{3})('d{3})('d{4})$/)
if (match) {
return `(${match[1]}) ${match[2]}-${match[3]}`
}
return null;
};
console.log(formatTelNumber(rawString))`
干杯!JK
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- 删除两个独立对象中的属性,而不使用多余的删除语句
- 删除行中多余元素的函数
- 删除给定字符前的多余空格
- 如何删除多余的javascript
- Protractor:如何从字符串中删除多余的空间,就像我们在javagetText.trim()中使用的那样
- 将字符串从PascalCase转换为param case:删除开头多余的破折号
- 如何删除底部多余的 iframe 空间
- HTML - 粘贴事件删除多余的空格
- 尝试在使用平板电脑大小的屏幕时删除多余的空间
- JavaScript正则表达式,用于删除特殊字符和多余空格,同时保留逗号
- 如何删除javascript数组中多余的数据
- 删除Highcharts甘特图上多余的图表区域
- 删除多余的;#字符串中的实例
- 更新购物车并删除购物车中的多余项目
- 将电话号码格式化为10位数字/删除多余字符
- 从javascript对象中删除多余的属性
- 从文本框中删除多余的单词
- Javascript+PHP:在回显过程中删除多余的字段
- jQuery子字符串或正则表达式,用于从序列化字符串中删除多余的字符