flutter 手机号码自动输入

本文介绍了如何在Flutter应用中实现手机号码的自动输入功能,包括利用文本输入控制器、格式化输入、国家选择器等技术,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flutter 手机号码自动输入

class _LoginMailState extends State<resetPassword> {
  final arguments;
  _LoginMailState({this.arguments});
  //---缓存数据(声明控制器)---
  TextEditingController _mobile = new TextEditingController();
  static Map phone = {
    "value": null,
    "verify": false
  };

  void initState() {
    super.initState();
    Future.delayed(Duration.zero, () async{
      prefs = await SharedPreferences.getInstance();
//      startTime = prefs.getInt('startTime');
//      int nowTime = G.getTime();
//      if(startTime != null && startTime > 0) {
//        if(nowTime - startTime > 120) {
//          prefs.remove('startTime');
//        } else {
//          countDown();
//        }
//      };
      //手机号缓存(----自动输入手机号----)
      if (prefs != null) {
        var m = prefs.getString("mobile");
        if (m != null) {
          _mobile.text = m;
          phone = {"value": m, "verify": true};
        }
      }
    });
  }

 Container(
              margin: EdgeInsets.only(top: 60),
              height: 55,
              decoration: BoxDecoration(
                  border: G.borderBottom()
              ),
              child:ARow(
                height: 50,
                padding: EdgeInsets.symmetric(horizontal: 5),
                border: G.borderBottom(show: false),
                leftChild:Text("手机号码      ",
                    style: TextStyle(
                      color: Color(0xFF1A4A7A),// rgba(85, 122, 157, 1),
                      fontSize: 18,)),
                centerChild:  TextField(
                  keyboardType: TextInputType.number,
                  controller: _mobile,//--添加控制器--
                  maxLength: 11,
                  decoration: InputDecoration(
                    counterText: "",
                    border: InputBorder.none,
                    hintText: '请输入手机号码',
                    hintStyle: TextStyle(fontSize: 17,),
                  ),
                  onChanged: (e) {
                    RegExp regExp = RegExp("^1(3|4|5|6|7|8|9)\\d{9}");
                    setState(() {
                      if (e.length>11){e=e.substring(0,11);}
                      print(e);
                      phone['value'] = e;
                      phone['verify'] = regExp.hasMatch(e);
                    });
                  },
                ),
              ),
            ),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值