diff --git a/lib/index.js b/lib/index.js index 43e3149e..c2764b46 100644 --- a/lib/index.js +++ b/lib/index.js @@ -48,9 +48,18 @@ export default class PhoneInput extends Component { updateFlagAndFormatNumber(number, actionAfterSetState = null){ var iso2 = this.props.initialCountry || 'us' var phoneNumber = number + var numberPattern = new RegExp('^[\+0-9-]+$'); if(number){ if(phoneNumber[0] != '+') phoneNumber = `+${phoneNumber}` + + while(!numberPattern.test(phoneNumber)) + phoneNumber = phoneNumber.slice(0, phoneNumber.length - 1); + + if(phoneNumber.length > 20) + while(phoneNumber.length > 20) + phoneNumber = phoneNumber.slice(0, phoneNumber.length - 1); + iso2 = PhoneNumber.getCountryCodeOfNumber(phoneNumber) } this.setState({iso2, formattedNumber: phoneNumber}, actionAfterSetState)