繁体   English   中英

从电话号码中删除空格、-、()

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM