在将错误的国家代码传递给Google-libphoneNumber之前,如何验证



我正在使用库 google-libphonenumber,并注意到如果将不可行的选项传递给 phoneUtil.parseAndKeepRawInput('202-341-2345', 'ZZ'),则它会自动抛出和错误并破坏站点。

我要做的是允许某种方式说明该代码是否不起作用,然后提醒和错误,或者我需要一种使用所有I18N ISO代码验证输入的方法。

,我要解决的确切问题是不崩溃,因为传递了无效的国家调用代码或ISO代码。的:

phoneUtil.parseAndKeepRawInput('202-341-2345', 'ZZ')

这导致我的整个应用程序崩溃并显示错误。虽然我要做的只是警告错误,而不是让用户继续进行该过程。因此,有两种方法可以做到这一点。验证国家调用代码或ISO代码,或者尝试捕获块以提醒错误,如果变量不起作用。

我接受了尝试捕获块,因为这是我直接显示错误的一种方式,该错误无论如何都告诉用户他们的ISO代码是错误的。因此,由于已经完成了这一点,因此无需验证。

这是代码:

  let userNumber = null;
    try {
      userNumber = phoneUtil.parseAndKeepRawInput(
        this.state.phoneNumber,
        this.state.isoCode.toUpperCase()
      );
    } catch (e) {
      alert(e);
      return;
    }
    if (userNumber) {
      alert(phoneUtil.isValidNumber(userNumber));
      alert(phoneUtil.format(userNumber, PNF.E164));
      return;
    }

最新更新