2017-05-26 49 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)

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

Regex demo

+0

[你的正則表達式匹配'91 --------------------------'](HTTPS:/ /regex101.com/r/77RELi/3)。我不知道印度的標準,但這可能是一個無效的結果。 – Mistalis

+0

非常感謝@Mistalis – Vivek

相關問題