【发布时间】:2015-03-25 19:28:34
【问题描述】:
可以对表单字段施加限制以停止输入数字、字符或符号,但出于兴趣,是否有一种方法可以完全限制任何类型的输入。例如。
Javascript
var digitsOnly = /[1234567890]/g;
var integerOnly = /[0-9\.]/g;
var alphaOnly = /[A-Za-z]/g;
function restrictCharacters(myfield, e, restrictionType) {
if (!e) var e = window.event
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code);
if (code==27) { this.blur(); return false; }
if (!e.ctrlKey && code!=9 && code!=8 && code!=36 && code!=37 && code!=38 && (code!=39 || (code==39 && character=="'")) && code!=40) {
if (character.match(restrictionType)) {
return true;
} else {
return false;
}
}
HTML:
<form action="" method="get">
<p><label for="input1">digitsOnly: </label> <input type="text" id="input1" onkeypress="return restrictCharacters(this, event, digitsOnly);" /></p>
<p><label for="input2">integerOnly</label> <input type="text" id="input2" onkeypress="return restrictCharacters(this, event, integerOnly);" /></p>
<p><label for="input3">alphaOnly</label> <input type="text" id="input3" onkeypress="return restrictCharacters(this, event, alphaOnly);" /></p>
为了停止完全限制,我假设您会结合不同的正则表达式变量,但您将如何防止用户复制和粘贴或拖动内容到字段中以及防止按键操作?
【问题讨论】:
标签: javascript jquery regex forms input