Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止在文本输入中插入无效字符_Javascript_Jquery_Html_Validation_User Input - Fatal编程技术网

Javascript 防止在文本输入中插入无效字符

Javascript 防止在文本输入中插入无效字符,javascript,jquery,html,validation,user-input,Javascript,Jquery,Html,Validation,User Input,我有一个带有标准文本元素的表单: <form id="f"> <input type="text" name="from" pattern="^[A-Za-z ]+$> <input type="text" name="to" pattern="^[A-Za-z ]+$> </form> 我想阻止用户在其中输入不允许的字符。例如,键入0应该没有效果 我该怎么做 $("#f input[type=text]").keypre

我有一个带有标准文本元素的表单:

<form id="f">
    <input type="text" name="from" pattern="^[A-Za-z ]+$>
    <input type="text" name="to"   pattern="^[A-Za-z ]+$>
</form>

我想阻止用户在其中输入不允许的字符。例如,键入
0
应该没有效果

我该怎么做

$("#f input[type=text]").keypress( function(e) {
    new_text = $(this).val() + String.fromCharCode(e.which)
    pattern = $(this).attr("pattern")
    return Boolean(new_text.match(pattern))
})
如果新文本与
模式
不匹配,代码将返回false,从而取消按键。使用
函数(e)
而不是
(e)=>
很重要,因为后者将
这个
按词汇绑定,而我们希望让jQuery将
这个
绑定到相应的
输入
元素