React native 如何在这个';xxx xxx xxxx';格式为react native?

React native 如何在这个';xxx xxx xxxx';格式为react native?,react-native,React Native,我希望当我在TextInput字段中输入数字时,它将作为 123-456-7890此格式,无需安装任何库。您可以使用正则表达式转换数据 示例 import React,{Component}来自'React'; 从“react native”导入{TextInput,View}; 导出默认类应用程序扩展组件{ 建造师(道具){ 超级(道具); this.state={num:''}; } changeNum(num){ formatNum=num.replace(/(\d{3})(\d{3})(

我希望当我在
TextInput
字段中输入数字时,它将作为


123-456-7890
格式
,无需安装任何库。

您可以使用正则表达式转换数据

示例

import React,{Component}来自'React';
从“react native”导入{TextInput,View};
导出默认类应用程序扩展组件{
建造师(道具){
超级(道具);
this.state={num:''};
}
changeNum(num){
formatNum=num.replace(/(\d{3})(\d{3})(\d{4})/,“$1-$2-$3”);
这是我的国家({
num:formatNum
});
}
render(){
返回(
this.changeNum(num)}
值={this.state.num}
maxLength={12}
键盘类型={'numeric'}
/>
);
}
}

这将引导您实现您想要的。感谢您的回答。但是在这里,当我们在文本中输入12+位时,它就工作了,否则它就不工作了。拜托,你能修一下吗?这里是@AfifaKhan,它应该以不同的文本长度替换。我在那里使用值为12的
maxLength
,但不起作用。在第13次录制相同的数字关键字后,它将在此
xxx xxx xxxx
格式中格式化。您可以更改此
num.replace(/(\d{3})(\d{3})(\d{4})/,“$1-$2-$3”)