Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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 如何防止用户使用jquery在html输入框中输入和复制任何非ascii字符?_Javascript_Jquery - Fatal编程技术网

Javascript 如何防止用户使用jquery在html输入框中输入和复制任何非ascii字符?

Javascript 如何防止用户使用jquery在html输入框中输入和复制任何非ascii字符?,javascript,jquery,Javascript,Jquery,我有一个文本框来输入一些东西。我想允许用户输入所有ASCII字符。我甚至不希望用户复制非ascii字符。如何使用jquery和简单javascript实现这一点。@#$etc是允许的,因为它们是ascii码。无需复制或通过键盘输入。如果您的意思是仅使用字母数字值,则这将起作用: 功能检查输入(f){ 变量字段=$(f); field.val(field.val().replace(/[^a-z0-9]/gi'); } @#$是ascii,也许你是指字母数字?我的意思是用户只允许输入/复制as

我有一个文本框来输入一些东西。我想允许用户输入所有ASCII字符。我甚至不希望用户复制非ascii字符。如何使用jquery和简单javascript实现这一点。@#$etc是允许的,因为它们是ascii码。无需复制或通过键盘输入。

如果您的意思是仅使用字母数字值,则这将起作用:


功能检查输入(f){
变量字段=$(f);
field.val(field.val().replace(/[^a-z0-9]/gi');
}

@#$是ascii,也许你是指字母数字?我的意思是用户只允许输入/复制ascii字符,其他什么都不允许。但是你列出的字符,
@#$
都是ascii字符。我认为这是不可能的。不过,您最迟可以在提交时删除字符。BTW-HTML字符是Unicode(在JavaScript中使用UTF-16编码),您希望允许的子集似乎是block.Hm。。我认为native JS没有任何
.val()
方法。jQuery是一个问题,我使用的是
标记。那么您可能想要
$(field)
而不是
field
。更改和KeyUp事件在输入后很快就覆盖了大多数情况。不过,这里有一个奇怪的情况:在Windows桌面Chrome上运行此代码段时,Alt+0151(m-dash)不会触发这些事件,除非出现其他交互,如附加键或失去焦点。我总是怀疑我对事件何时触发的理解。我只是用你的片段偶然发现的,所以我不知道是否还有其他事件发生。这绝对是一个极端的情况;一个不会影响典型web应用程序的应用程序。