0

我有这个网站,您可以在其中上传一些信息并将其存储。我目前对其进行了验证,但我正在努力使其更精确。我希望能够发送警报说......如果他们有超过三个.(点)的答案。这是我得到的:

function ValidateContactForm()
{
    var name = document.ContactForm.sName;
    var ip = document.ContactForm.sIp;
    var port = document.ContactForm.sPort;
    var type = document.ContactForm.sType;
    var description = document.ContactForm.sDesc;
    if (name.value == "")
    {
        window.alert("Please enter a server name");
        name.focus();
        return false;
    }
    if (ip.value == "")
    {
        window.alert("Please enter an valid IP Address");
        ip.focus();
        return false;
    } else if (ip.value.length > 18) {
        window.alert("Please enter an valid IP Address");
        ip.focus();
        return false;
}
    if (port.value == "" || port > 4 || port < 6)
    {
        window.alert("Please enter a valid port number");
        port.focus();
        return false;
    }
    if (description.value == "")
    {
        window.alert("Please enter a description");
        description.focus();
        return false;
    }
    return true;
}

我想这样做,如果 IP 中有超过 3 个点,它会提醒你。我该怎么做?谢谢

4

3 回答 3

0

用这个:

number_of_dots = ((ip.value).split(".")).length - 1
if (number_of_dots > 3){
  alert("more than 3 dots")
}

获取ip地址中的点数

于 2013-06-22T03:40:55.160 回答
0

通过使用 RegExp,我们可以匹配所有的点,并对匹配进行计数。JSPerf 的其他选项

if ((ip.value.match(/\./g) || []).length !== 3) {
    window.alert("Please enter a valid IP address");
    ip.focus();
    return false;
}
于 2013-06-22T03:43:08.010 回答
-2

ip 总是有 4 个点,所以你不需要为 3 点和 4 个点的 ip 代码而烦恼

于 2013-06-22T03:40:38.323 回答