JSFiddle - React, Tailwind, and code Playground
HTML
<h2>
the phone number getter regex...
</h2>
<ul id="result">running...</ul>
JavaScript
function getNumbers() {
var numbers = [
"+91 98333332343",
"+1 (983) 333 32343",
"+91-983 333 32343",
"983-333-32343",
"+91(983)-333-32343",
"+9198333332343",
//add numbers here
"9833636363"
];
var ul = document.getElementById('result'),
regex = /^(\+(\d{1,2})[- ]?)?(\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4,5}$/;
//try other regexes here :
//regex = /^[\+\d- \(\)]+$/; // simplistic
//regex = /(?:[-+() ]*\d){10,13}/g;//accepted solution
//regex = /^(\+(\d{1,2})[- ]?)?(\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{5}$/;//fails only on last number : too short
ul.textContent = "";
ul.appendChild(document.createElement('h3')).textContent = "Results :";
numbers.map(function(num){
var li = ul.appendChild(document.createElement('li')),
text = num + " : ";
text += (num.match(regex) != null) ? "OK" : "FAILED";
li.textContent = text;
});
console.log(ul);
}
getNumbers();