我的搜索框需要验证空间和%。不应该允许下面提到的字母。
< > ( ) ' " / \ * ; : = { } `(backtick) % + ^ ! - \x00-\x20
我尝试使用JS代码,请参阅代码: -
<script type="text/javascript">
var specialKeys = new Array();
specialKeys.push(8); //Backspace
specialKeys.push(9); //Tab
specialKeys.push(46); //Delete
specialKeys.push(36); //Home
specialKeys.push(35); //End
specialKeys.push(37); //Left
specialKeys.push(39); //Right
function IsAlphaNumeric(e) {
var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
document.getElementById("error").style.display = ret ? "none" : "inline";
return ret;
}
</script>
让我知道在上述代码中需要修改或添加的内容。
答案 0 :(得分:0)
您可以使用Java Script Regular Expression来验证输入,以下代码将执行您想要的操作
$('input').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9\b _ _%]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
这是一个有用的js小提琴示例
答案 1 :(得分:0)
试试这个例子:
<强>脚本强>
$(function(){
$("input.rejectSpecial").on('input', function(){
this.value = this.value.replace(/(\>|\<|\(|\)|\"|\'|\\|\/|\*|;|\:|\=|\{|\}|`|%|\+|\^|\!|\-)/g, '');
});
})
<强> HTML 强>
<input type="text" placeholder="special letters not allowed" size="30" class="rejectSpecial"/>
<input type="text" placeholder="does nothing" size="30"/>
<input type="text" placeholder="special letters not allowed" size="30" class="rejectSpecial"/>