public static bool ValidatePhoneNumber(this ValidationManager validationManager, string number, TextSource control) { try { PhoneNumberUtil phoneUtil = PhoneNumberUtil.GetInstance(); bool isAlphaNumber = phoneUtil.IsAlphaNumber(number); PhoneNumber phoneNumber = phoneUtil.Parse(number, ""); if (isAlphaNumber || !phoneUtil.IsValidNumber(phoneNumber)) { validationManager.SetError(control.InitialLabel + " Is Invalid", control); return(false); } } catch (NumberParseException npe) { validationManager.SetError("Failed to parse " + control.InitialLabel + " " + npe.Message, control); return(false); } return(true); }
private string GeneralisePhoneNumber(string smsNumber) { PhoneNumberUtil phoneUtil = PhoneNumberUtil.GetInstance(); smsNumber = new string(smsNumber.Where(s => char.IsDigit(s) || s == '+' || (phoneUtil.IsAlphaNumber(smsNumber) && char.IsLetter(s))).ToArray()); if (smsNumber.Length == 10 && !smsNumber.Contains("+")) { smsNumber = "+1" + smsNumber; //we assume that default region is USA } return(smsNumber); }