Jquery 如何在c#mvc中创建一个只允许ipv4和ipv6地址以及html验证的输入元素?
我想在MVC中使用一个输入字段来输入IPv6或IPv4的IP地址。如果它包含地址屏蔽,将非常有用 我尝试使用带有值的html属性“pattern”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
@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");
}
});