我有一個電話號碼(phone),它將通過一個PUT請求被發送到一個API端點。在發送至API之前,我想對其進行格式化。
情況:
1)
Phone number。0321 1234567[/span].
發送到API 像。 3553211234567
Phone Number: 355 321 1234567
發送到API 像。 3553211234567
Phone Number: 3553211234567
發送到API 像。 3553211234567
因此,我需要做的是:
1- 去除空位。
1-去除空位
為此我使用:phone.replace(/[^ d] /g, "" /span>)
洗掉除 (國家代碼)和數字以外的所有內容。
2- 檢查電話號碼是否以0開頭,如果是,就用 355替換。
我如何做?
我怎樣才能在Javascript中做到這一點?預先謝謝你。
uj5u.com熱心網友回復:
。const str = ' 355 321 1234567'/span>;
const array = [...str.matchAll(d(?!(?:.*d){10})/g)]。
console.log(' 355' array. join('));
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你可以使用兩個替換,一個用于0到 355,一個用于空格。要獲得第一個0,請使用^0,只有當第一個字符是0時才會匹配。
let phones = ['0321 1234567'/span>, ' 355 321 1234567',' 3553211234567', '0103 1234500']
phones.forEach(phone => {
phone = phone.replace(/^0/,' 355'/span>)
phone = phone.replace(/s/g,' ')
console.log(phone)
})
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你也可以使用一個帶替換的回呼函式,并在第1組中捕獲開始的0,或者使用(^0)|s
在回呼函式中檢查第1組,如果它存在,添加 355,否則為空字串。
示例代碼
let regex = /(^0)|s /g;
[
"0321 1234567"。
" 355 321 1234567"。
" 3553211234567"
].forEach( s =>
console.log(
s.replace(regex, (m, g1) => g1 ? " 355" : ""))
);
所有3個專案的輸出
3553211234567。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/307543.html
標籤:
