【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正则替换手机号中间四位为*

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

回到顶部