尝试创建一个只接受0到9之间的一个字符的输入字段。我不想为此使用验证(因此,无论他们尝试什么,用户只能输入一个数字)
我尝试了
<input type="text" size="1" maxLength="1" inputmode="numeric" />
但是,这仍然允许使用字母字符。
理想情况下,我也想通过密码输入来实现此功能
<input type="password" size="1" maxLength="1" inputmode="numeric" />
答案 0 :(得分:2)
您可以直接使用html的数字类型:
或者您可以使用javascript控制键盘事件。
<input type="text" onkeypress='return event.charCode >= 48 && event.charCode <= 57' />
答案 1 :(得分:0)
如果使用的是mvc,则可以使用RegEx创建ModelView。就像下面一样,
public class ValidationViewModel
{
[StringLength(1, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 1)]
[RegularExpression("^[0-9]$", ErrorMessage = "Only sigle number allowed between 0-9")]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
}
查看时
@using (Html.BeginForm())
{
@Html.EditorFor(model => model.Password, "Password:")
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "error-message" })
}
确保已引用了jqueryval,
@Scripts.Render("~/bundles/jqueryval")