【发布时间】:2017-10-12 09:52:23
【问题描述】:
我目前正在开发一个 C# MVC 项目。在将用户详细信息输入数据库时,我需要自定义我的 MobilePhone 字段以仅接受数字。经过一番搜索,我找到了以下代码:
$(document).on("keypress","#MobilePhone", function (e) {
var regex = new RegExp("^[0-9]\d*$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
此代码适用于我,它只允许在文本框中输入数字。
但是有一个问题,如果用户复制一些文本,然后将内容粘贴到文本框中,则没有任何反应。然后,如果我按下提交按钮,它就会提交并发生错误。
然后我发现了这个问题:Disable Copy or Paste action for text box?
问题的答案是:
$('#email').bind("cut copy paste",function(e) {
e.preventDefault();
});
但是在我尝试这个之后,我无法将偶数复制到文本框中。有什么办法可以防止只复制字母和特殊字符。
【问题讨论】:
-
您需要在第二个
bind方法中添加逻辑来检查/处理正在粘贴的内容。目前e.preventDefault()只是阻止一切 -
可以使用内置的
<input type="number">,并使用min和max属性来控制最小值和最大值。
标签: c# jquery model-view-controller textbox copy-paste