如何验证手机号码在@Html.TextBoxFor中的起始数字



我的代码是:

@Html.TextBoxFor(model => model.Phone, true, null, new { @placeholder = "Enter Phone Number *", @minlength = "10", @maxlength = "12", @autocomplete = "off", @data_rule_number = true, @data_msg_number = "*invalid phone number", @class = "form-control" })

在这里,我必须验证用户是否应该输入以数字开头的数字(6/7/8/9(。如何做到这一点?

您可以添加模式字段:

@Html.TextBoxFor(model => model.Phone, true, null, new { pattern = @"^([6-9][0-9]{9,11})$", @placeholder = "Enter Phone Number *", @minlength = "10", @maxlength = "12", @autocomplete = "off", @data_rule_number = true, @data_msg_number = "*invalid phone number", @class = "form-control" })

模式字符串^([6-9][0-9]{9,11})$表示第一个数字可以是6到9,然后用户可以使用0到9来填充剩余数字,剩余数字的长度为9到11。

基于Removable的答案,在.net核心中您可以在模型的Phone属性上添加[RegularExpression(@"^[6-9][0~9]{9,11}$", ErrorMessage = "CusRegularErrorMessage")]属性,用于客户端验证和服务器端验证

您可以查看此文档以了解更多详细信息:https://learn.microsoft.com/en-us/aspnet/core/mvc/models/validation?view=aspnetcore-6.0#内置属性

您可以使用下面显示的12位数字的模式:

pattern=@"^(6|7|8|9(([0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]($";

最新更新