2017-05-26 14 views
-2

文字列から有効な電話番号を取得したいとします。あなたは私を助けてくださいすることができます文字列内の有効な電話番号の一致

var s = 'This is a mobile number example : 09540298880,+91-9540298880,+919540298880,919540298880,8888888,-91888880';  
 
var r = /([0-9]+){1}|(\+[0-9]+-{4})+[0-9]+/g;  
 
console.log(s.match(r));

をそれは、この有効(出力)電話番号を与える必要があります。ここでは

09540298880,+91-9540298880,+919540298880 

答えて

1

は提案です:

\b\d{11}\b|\+\d{2}-?\d{10} 

あなたの入力から、それは一致します:

09540298880 
+91-9540298880 
+919540298880 

var s = 'This is a mobile number example : 09540298880,+91-9540298880,+919540298880,919540298880,8888888,-91888880';  
 
var r = /\b\d{11}\b|\+\d{2}-?\d{10}/g;  
 
console.log(s.match(r));

Test it on regex101

1

var string = "09540298880,+91-9540298880,+919540298880,919540298880,8888888,-91888880" 
 

 
var result = string.match(/(?:[0\+])(?:[7-9][1]{1,2}\-?)?(?:[0-9]{10})/g) 
 

 
console.log(result)
、あなたの番号形式はインドの標準である、私はそれに基づいて、私の正規表現を作成しましたregexで以下を試してみてください

(?:[0\+])(?:[7-9][1]{1,2}\-?)?(?:[0-9]{10}) 

Regex demo

+0

[あなたの正規表現は '91 --------------------------'を一致する](HTTPS:/ /regex101.com/r/77RELi/3)。インドの基準はわかりませんが、無効な結果になる可能性があります。 – Mistalis

+0

ありがとう@Mistalis – Vivek

関連する問題