主要思路:
监听事件,每次号码发生改变时触发
大体的逻辑是:先比较号码变化前后的长度,判断是输入还是删除,如果是输入的话,利用正则表达式改变号码格式。
废话不多,上代码:
html:
<input type="tel" maxLength={13} placeholder='请输入手机号' onChange={this.change.bind(this)} >
react 代码change(ev: any) {ev.target.value = ev.target.value.replace(/\s+/g, "");if (ev.target.value.length > 3 && ev.target.value.length < 8) {ev.target.value = ev.target.value.replace(/^(\d{3})/g, "$1 ");} else if (ev.target.value.length >= 8 && ev.target.value.length < 12) {ev.target.value = ev.target.value.replace(/^(\d{3})(\d{4})/g, "$1 $2 ");}this.phone = ev.target.value;}