描述
- 86手机
按照3、4、4断位,例如:100 1000 8888 - 886手机
按照4、4断位,例如:1000 1000
代码
监听 onChange 事件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23handleOnPhoneChange (e) {
const reg = /[^\d]/g
let curPhone = e.target.value.replace(reg, '')
if (this.state.code === '+852') {
curPhone = this.phoneSpaceFormat852(currentPhone)
} else {
curPhone = this.phoneSpaceFormat86(currentPhone)
}
this.props.form.setFieldsValue({
phone: curPhone
})
}
phoneSpace86 = (curPhone) => {
let temp = curPhone.substr(0,3) + ' ' + curPhone.substr(3,4) + ' ' + curPhone.substr(7,4)
return temp.trim()
}
phoneSpace852 = (curPhone) => {
let temp = curPhone.substr(0,4) + ' ' + curPhone.substr(4,4)
return temp.trim() //这里一定要去空格,不然会有退格键失效的情况
}
正则
用正则的问题,按退格的情况,会出现很多特殊bug, 需要额外处理