2017-02-19 5 views
1

Javascriptで表示するために電話番号を再フォーマットする方法を探しています。ここでは、データの一部の例です:文字列を特定のフォーマットにフォーマットする

00-22 345 991

12450から123948

私のような以下の3つの長さの形式に番号を再フォーマットする:555-922-134

ダッシュとスペースを無視することができ、最後の2つのブロックが同様に2の長さとすることができると仮定すると:002-234-59-91又は124-501-349-48

答えて

3

ルックアヘッドで正規表現を使用することができます。

Positive Lookaheadは、等号の後にパターンを探しますが、一致するパターンには含まれません。 'X' は 'Y' が続いている場合にのみ

X(?= Y)

マッチ 'X'。これは先読みと呼ばれています。

たとえば、/Jack(?=Sprat)/は、「Sprat」の後にのみ「Jack」と一致します。 /Jack(?=Sprat|Frost)/は、 'Sprat'または 'Frost'の後にのみ 'Jack'と一致します。しかし、「Sprat」も「Frost」も一致結果の一部ではありません。

function format(s) { 
 
    return s.toString().replace(/\D/g, '').replace(/\d{2,3}(?=..)/g, '$&-'); 
 
} 
 

 
console.log(format('00-22 345 991')); 
 
console.log(format('555922134')); 
 
console.log(format('12450-123948')); 
 
console.log(format(123456789)); 
 
console.log(format(12345678901)); 
 
console.log(format(1234567));

0

こんばんは! :)

これは以前のスレッドで回答されています。 :)これはアウトに役立ちます

Insert hyphens in javascript

ホープ - 良い夜を持っている:)

関連する問題