react-phone-input-pro
v1.0.11
Published
Phone number input component for react to format phone numbers according to selected countries in real time.
Downloads
168
Maintainers
Readme
react-phone-input-pro
Phone number input component for react to format phone numbers according to selected country in real time.
Features
- Easy to use - just import and use.
- Lightweight - No third-party dependencies.
- Search bar - You can anable or disable search bar from countries options list.
- You have option to include or exclude dial code from number.
- You can create your own formats
Installation
Run this command in your terminal
npm install react-phone-input-pro
| Props | Description | | --- | --- | | initialFormat: Boolean | When using this component in editable forms. this function automatically guess the the dial code and formats the number| | prefix: Boolean| user will get dial code pre defined When this is true or undefined | | className: String | To add a css class in this component | | includeDialingCode: Boolean | If you don't want to include dial code in number then make this false | | placeholder: String | To change placeholder | | onchange: Function() | This function returns current unformatted value. Which you can use to setState of value. | | onlyCountries: Array | To filter country options. e.g.: ["USA", "IND"] | | fixLength: Boolean | To limit input length | | disabled: Boolean | To make input and selector disable| | fullIsoCode: Boolean | Sets 3 letter ISO Code e.g. "IND", "USA"| | searchOption: Boolean | To add or remove search bar| | getCountryCode: Function() | To get selected country code | | flags: Boolean | To get country code instead of flag | | error: [errorStatus:boolean, errorMessage:string] | To show error message |
Usage
import PhoneInput from 'react-phone-input-pro';
const [number, setNumber] = useState();
const [err, setErr] = useState(false);
//for typescript
const [number, setNumber] = useState<string | number>();
const [err, setErr] = useState(false);
Example: Inside React-hook-form
<Controller
control={control}
name={"phone"}
render={({ field: { onChange, value } }) => (
<PhoneInput
value={value}
prefix
onchange={(n: string) => {
onChange(n);
}}
/>
)}
/>
Normal use
<PhoneInput
initialFormat={true}
value={number}
prefix={true}
onchange={(n) => setNumber(n)}
fullIsoCode={true}
/>
Create your own format
<PhoneInput
value={number}
initialFormat={true}
prefix={true}
placeholder={"Phone number..."}
fixLength={true}
format={"+100 #,##-(###)/##,##"}
fullIsoCode={true}
searchOption={true}
onchange={(n)=> setPhone(n)}
/>
Error handling
<PhoneInput
value={number}
initialFormat={true}
prefix={false}
placeholder={"Phone number..."}
error={[err, "Invalid Number"]}
fullIsoCode={true}
searchOption={true}
onchange={(value: string)=> {
setNumber(value)
setErr(false);
}}
/>
Based on react-number-formatter