// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validPhoneChars = phoneDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;
// Require a leading + in phone number?
var requireLeadingPlusChar = true;

function isPhoneInt(s) {
    for (var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (((c < '0') || (c > '9'))) {
            return false;
        }
    }
    return true;
}

function stripCharsInPhoneNumber(s) {
    var res = '';
	if (requireLeadingPlusChar && s.charAt(0) != '+') {
		return res;
	}
    for (var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (validPhoneChars.indexOf(c) == -1) {
            res += c;
        }
    }
    return res;
}

function isPhoneNumber(strPhoneNumber){
    s = stripCharsInPhoneNumber(strPhoneNumber);
    return (isPhoneInt(s) && s.length >= minDigitsInIPhoneNumber);
}
