删除类型为flutter的电话输入TextFormField的前零

问题描述

如何在TextFormField内颤动地删除电话号码的前零,如00963和031,以此类推?
这是我的TextFormField代码

TextFormField(
             keyboardType: TextInputType.phone,onSaved: (input) => _con.user.phone = input,),

我的问题不是要防止用户输入零,而是要通过用户输入或不输入零开头的电话号码来获取

解决方法

如果要删除电话号码中的所有前零,只需使用此正则表达式:

 new RegExp(r'^0+')

^-匹配一行的开头

0+-一次或多次匹配零位字符

TextFormField的最终代码:

TextFormField(
  keyboardType: TextInputType.phone,onSaved: (input) => _con.user.phone = input.replaceFirst(new RegExp(r'^0+'),'');,),
,
      String phone = '000345';
      String editedPhone = phone.replaceFirst(RegExp(r'^0+'),"");
      print(phone);
      print(editedPhone);

将打印:

000345
345