格式化文本框以获取 MVC 上的 IP 地址

Format textbox to take an IP Address on MVC

我目前正在使用验证方法等整理我的 C# MVC4 项目,除了 IP 地址文本框外,大多数都很好。此处管理员添加工作站的 IP 地址。我不知道如何将文本框格式化为 """"".""."""""" 空格。有什么想法吗?

    <div class="editor-label">
        @Html.LabelFor(model => model.AssignedIP)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.AssignedIP)
        @Html.ValidationMessageFor(model => model.AssignedIP)
    </div>

型号

      [Required]
    [StringLength(30)]
    [Display(Name = "Location Name")]
    public string LocationName { get; set; }

    public string AssignedIP { get; set; }

如果你想在 mvc 中屏蔽输入,我建议为此使用 jquery 库并为你的 AssignedIP 创建扩展方法。

http://digitalbush.com/projects/masked-input-plugin

像这样:

<script type="text/javascript" src="http://jquery-joshbush.googlecode.com/files/jquery.maskedinput-1.2.1.pack.js"></script>
    <script type="text/javascript">
        $(function() {
            $("#AssignedIP").mask("999.999.999.999");
        });
    </script>

或者,如果您只需要验证,那么您可以使用正则表达式:

^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$

它匹配 IPv4 地址。

[RegularExpression(@"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$")]
public string AssignedIP { get; set; }

在您的 ViewModel 中