首页 文章

如何在电子邮件和手机具有相同的文本框时验证和处理输入

提问于
浏览
0

我正在寻找一种方法来处理以下用例 . 用户可以输入电话号码或电子邮件地址,以便在离子应用程序中获取密码重置令牌 . 我无法将UI更改为具有两个字段,因为BA不会接受它 . 以下屏幕截图显示了MOCK UI:

Screenshot

问题:1 . 由于只有一个输入字段如何验证用户是否输入了电话号码或电子邮件地址?是否有任何明确的正则表达式?

  • 由于只有一个输入而是两种不同类型的数据,如何决定模型?我应该只有一个类型字符串的模型(字段),并在UI验证后使用相同的两个,或者我应该使用两个不同的字段作为模型对于这种情况?

  • 另一个挑战是在输入有效的电子邮件地址或输入电话号码时启用提交按钮 . 电话号码可以是国际类型 .

1 回答

  • 1

    试试这样吧

    var input = "your angular model input";
        var emailReg = /^([w-.]+@([w-]+.)+[w-]{2,4})?$/;
    if(emailReg.test(input))
    {
        $emailModel = input;
    } else {
      var mobileRegex = /[0-9 -()+]+$/;
      if((input.length > 6) && (intRegex.test(input)))
      {
        $mobileModel = input; 
      }
    }
    

相关问题