现在我有一个像这样的输入框:
<input class="form-control" type="text"/>
但它仍然允许输入数字。
我希望能输入名称,并在字符串包含数字时显示错误消息。我应该如何实现这个功能?
以下内容应该能帮助您只输入字符:
$(function() {
$('#txtNumeric').keydown(function (e) {
if (e.shiftKey || e.ctrlKey || e.altKey) {
e.preventDefault();
} else {
var key = e.keyCode;
if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90))) {
e.preventDefault();
}
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<b>Enter Text:</b>
<input type="text" id="txtNumeric" />
</div>
你有几个选项...
无论选择哪个选项,你都会以某种方式使用正则表达式。
你可以在客户端使用 JavaScript
...
function Validate () {
var inputValue = document.getElementById("test").value;
var reg = new RegExp('^\\d+$');
var test = reg.test(inputValue);
//--Do something with test--
console.log(test);
}
<input id="test" class="form-control" type="text" />
<button onClick="Validate()">Validate</button>
无输入,仅允许文本:
http://www.w3schools.com/html/html_form_input_types.asp
...你可以尝试使用js + action在输入时触发,例如onkeydown
http://www.w3schools.com/jsref/event_onkeydown.asp
并通过正则表达式进行验证(仅限字母)
可以更好地控制在验证成功或失败时发生的情况。例如弹出警告或改变颜色等。