在 React Native 中验证 IP 地址

Taf*_*med 5 javascript react-native

我正在寻找一种方法来验证 RN 移动应用程序中的 ip 地址字段 (onChange)。

但它同时采用有效和无效的 IP 地址,并且每个部分的位数仍然精确为 3。

应用程序截图

我正在使用react-native-mask-input,到目前为止我已经尝试过:

const ipMask = [
    [/\d/],
    [/\d/],
    [/\d/],
    '.',
    [/\d/],
    [/\d/],
    [/\d/],
    '.',
    [/\d/],
    [/\d/],
    [/\d/],
    '.',
    [/\d/],
    [/\d/],
    [/\d/],
  ];

<View style={{flexDirection: 'row'}}>
        <View style={{flex: 1, flexDirection: 'column'}}>
          <View style={{flexDirection: 'row'}}>
            <Text
              style={{
                fontFamily: 'Titillium-Semibold',
                color: Colors.grey_888888,
                fontSize: 14,
                marginLeft: 13,
              }}>
              IP Address *
            </Text>
          </View>
          <MaskInput
            value={ip}
            mask={ipMask}
            style={{
              marginLeft: 10,
              marginRight: 10,
              marginTop: 5,
              fontSize: 15,
              width: '95%',
              fontFamily: 'Titillium-Semibold',
              fontWeight: 'normal',
              paddingBottom: 0,
              height: 50,
              backgroundColor: '#FAFAFA',
              borderColor: Colors.grey_C0C0C0,
              borderWidth: 1,
              borderRadius: 5,
            }}
            onChangeText={(masked, unmasked, obfuscated) => {
              setIP(masked);
            }}
          />
          <Text
            style={{
              fontFamily: 'Titillium-Semibold',
              color: Colors.red_FF0000,
              fontSize: 11,
              marginLeft: 10,
            }}>
            {requiredMsg.ip && 'IP address is required !!!'}
          </Text>
        </View>
      </View>
Run Code Online (Sandbox Code Playgroud)

谁能建议我一种正确验证 IP 地址的方法?

Str*_*sos 0

is-ip从 NPM获取包。这里的链接可能会有所帮助。

然后,您可以简单地使用函数来检查。例如:

isIP('192.168.0.1'); // returns true
Run Code Online (Sandbox Code Playgroud)

您将在上面的网页中找到更多代码示例。

编辑:我刚刚注意到问题的日期......:')