如何使用JavaScript表单验证检查答案中是否存在特定数量的字符

时间:2013-06-22 03:37:10

标签: javascript validation ip

我有这个网站,你可以上传一些信息,它将被存储。我目前正在对其进行验证,但我正在努力使其更加精确。我希望能够发出一个警告说...如果他们有更多那三个。(点)在那里回答。这是我得到的:

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个点,它会提醒你。我该怎么做? 感谢

3 个答案:

答案 0 :(得分:0)

使用此:

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

获取ip地址中的点数

答案 1 :(得分:0)

通过使用RegExp,我们可以匹配所有点,并计算匹配。 JSPerf of other options

if ((ip.value.match(/\./g) || []).length !== 3) {
    window.alert("Please enter a valid IP address");
    ip.focus();
    return false;
}

答案 2 :(得分:-2)

Ip总是有4个点,所以你不需要麻烦3点和4点ip码