[英]remove space, -, () from phone number
我有一组电话号码的对象,例如:
phoneArray = [{"phone": "+11 111 111"},{"phone": "+22 222 222"}]
我做了一个循环来删除空格,因为我想要这个结果:
[{“电话”:“+11111111”},{“电话”:“+22222222”}]
但我只能删除看起来像的第一个空格
[{“电话”:“+11111 111”},{“电话”:“+22222 222”}
使用此代码:
for(i=0 ; i<phoneArray.length ; i++) {
let test = phoneArray[i].phone.replace(" ","");
}
我实际上还有其他电话号码,例如 {"phone": "(22) 222-222"} 来格式化,但如果我可以删除空格,我可以删除其他符号,例如 ()- 我想。
我不使用正则表达式,因为我还不明白。
您可以将正则表达式模式传递给您的替换 function。 像那样:
let p = "+(11) 111 111-11" console.log(p.replace(/[\s\-\(\)]/g,''))
要删除除+
和数字以外的所有字符,您可以执行以下操作:
let p = "+1 (555) 555-555" console.log(p.replace(/[^\d\+]/g,''))
我将使用 map function 来迭代数组并更改每个值,每个值将应用 function 替换为 +. 正则表达式数字和顺序删除非数字
phoneArray = [{"phone": "+11 111 111"},{"phone": "+22 222 222"}] phoneArray = phoneArray.map(p => { return { phone: p.phone.replace(/[^+\d+]/g,"") } }) console.log(phoneArray)
您可以尝试 phone.replace(/\D/g,'') 这将替换所有非数字字符并为您提供数字,希望这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.