【flutter】dart正则替换手机号中间四位为*
Flutter项目中隐藏手机号中间4位
例:13888888888 => 138**8888
回答
研究了一下dart的api,试出了一种写法
String phoneNumber = '13888888888';String phoneNumberStr = phoneNumber.replaceFirst(new RegExp(r'\d{4}'), '****', 3);
replaceFirst用法:
String replaceFirst(Pattern from, String to, [int startIndex = 0])dart:core
Returns a new string in which the first occurrence of [from] in this string is replaced with [to], starting from [startIndex]:
'0.0001'.replaceFirst(new RegExp(r'0'), ''); // '.0001'
'0.0001'.replaceFirst(new RegExp(r'0'), '7', 1); // '0.7001'
不知道Flutter中正则替换的语法,希望下面js的例子能帮到你。
首先,我们要替换的是中间四位,那么,我们可以匹配从前面是三位数和本身是四位数的规则来写正则。前面是三位数:(?<=\d{3})本身是四位数:(\d{4})
正则表达式
/(?<=\d{3})(\d{4})/js代码示例:
let str = '13888888888'; let reg = /(?<=\d{3})(\d{4})/;
str.replace(reg,"****"); //138****8888
https://api.dart.dev/stable/2...

以上是 【flutter】dart正则替换手机号中间四位为* 的全部内容, 来源链接: utcz.com/a/82858.html
