Leo*_*ban 15 javascript jquery input input-field
在这里使用jQuery,但无法阻止数字输入到输入字段
http://codepen.io/leongaban/pen/owbjg
输入
<input type="text" name="field" maxlength="8"
title="Only Letters"
value="Type Letters Only"
onkeydown="return alphaOnly(event);"
onblur="if (this.value == '') {this.value = 'Type Letters Only';}"
onfocus="if (this.value == 'Type Letters Only') {this.value = '';}"/>
Run Code Online (Sandbox Code Playgroud)
jQuery的
function alphaOnly(event) {
alert(event);
var key;
if (window.event) {
key = window.event.key;
} else if (e) {
key = e.which;
}
//var key = window.event.key || event.key;
alert(key.value);
return ((key >= 65 && key <= 90) || (key >= 95 && key <= 122));
}
Run Code Online (Sandbox Code Playgroud)
我在这里看到了很多关于如何限制数字的例子,我正在使用正确的密钥代码来表示az和AZ.你看到我做错了吗?
hex*_*ide 15
该属性event.key给了我一个未定义的值.相反,我用过event.keyCode:
function alphaOnly(event) {
var key = event.keyCode;
return ((key >= 65 && key <= 90) || key == 8);
};
Run Code Online (Sandbox Code Playgroud)
请注意,值8用于退格键.
您可以使用正则表达式,而不是依赖可能非常麻烦的键代码.通过更改模式,我们可以轻松限制输入以满足我们的需求.请注意,这适用于keypress事件,并允许使用退格(如在接受的答案中).它不会阻止用户粘贴"非法"字符.
function testInput(event) {
var value = String.fromCharCode(event.which);
var pattern = new RegExp(/[a-zåäö ]/i);
return pattern.test(value);
}
$('#my-field').bind('keypress', testInput);Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
Test input:
<input id="my-field" type="text">
</label>Run Code Online (Sandbox Code Playgroud)
仅漂亮的单行 HTML:
<input type="text" id='nameInput' onkeypress='return ((event.charCode >= 65 && event.charCode <= 90) || (event.charCode >= 97 && event.charCode <= 122) || (event.charCode == 32))'>
Run Code Online (Sandbox Code Playgroud)
在较新的浏览器上,您可以使用:
<input type="text" name="country_code"
pattern="[A-Za-z]" title="Three letter country code">
Run Code Online (Sandbox Code Playgroud)
您可以使用正则表达式来限制输入字段。