Jquery 如何在c#mvc中创建一个只允许ipv4和ipv6地址以及html验证的输入元素?

Jquery 如何在c#mvc中创建一个只允许ipv4和ipv6地址以及html验证的输入元素?,jquery,.net,asp.net-mvc-4,html-helper,Jquery,.net,Asp.net Mvc 4,Html Helper,我想在MVC中使用一个输入字段来输入IPv6或IPv4的IP地址。如果它包含地址屏蔽,将非常有用 我尝试使用带有值的html属性“pattern” @pattern = @"^(([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3}):){7}([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3})$" 用于IPv6 及 对于IPv4 但它不在html端进行验证,只对输入的内容进行例外 下面是编辑器框的代码 @Htm

我想在MVC中使用一个输入字段来输入IPv6或IPv4的IP地址。如果它包含地址屏蔽,将非常有用

我尝试使用带有值的html属性“pattern”

@pattern = @"^(([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3}):){7}([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3})$" 
用于IPv6

对于IPv4

但它不在html端进行验证,只对输入的内容进行例外

下面是编辑器框的代码

@Html.EditorFor(model => model.StartIPAddress, new { htmlAttributes = new { @class = "form-control ip-address-v6", @pattern = @"^(([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3}):){7}([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3})$" } })


@Html.EditorFor(model => model.StartIPAddress, new { htmlAttributes = new { @class = "form-control ip-address-v4", @pattern = @"^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$" } })

上面给出的正则表达式仅适用于IPV4,您还可以包括IPV4正则表达式检查。您可以使用更改来代替提醒。

@Asihs您需要Jquery屏蔽检查此链接@jishansiddique我已经尝试过一个名为“Simple Jquery IPv4/IPv6 Addresses Input Mask plugin”的Jquery屏蔽插件,但在输入时该插件无法正常工作。我尝试使用该插件,因为我想同时使用ipv4和ipv6屏蔽。
@Html.EditorFor(model => model.StartIPAddress, new { htmlAttributes = new { @class = "form-control ip-address-v6", @pattern = @"^(([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3}):){7}([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3})$" } })


@Html.EditorFor(model => model.StartIPAddress, new { htmlAttributes = new { @class = "form-control ip-address-v4", @pattern = @"^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$" } })
        $("#textboxid").blur(function () {

        var input = $(this).val();
        console.log(input);
        var regex = new RegExp('(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.) 
        {3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$');
        if (regex.test(input)) {
            alert ("match");
        } else {
            alert("nomatch");
        }


});