Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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_Input_Input Sanitization - Fatal编程技术网

Javascript 删除不需要的字符的最佳方法

Javascript 删除不需要的字符的最佳方法,javascript,jquery,html,input,input-sanitization,Javascript,Jquery,Html,Input,Input Sanitization,我有一个要清理的HTML输入。我希望用户输入除某些字符以外的所有内容。我不知道这些字符是什么,但用户通过复制和粘贴的方式输入它们。升华文本将它们显示为STX、SOH等。我不知道你是否能看到它们,但它们在这里: ". 我不想列出我接受的每个字符,也不能列出这些STX、SOH字符。我不能使用A-Za-z,因为我还希望用户输入像‘ç’这样的字符 我怎样才能轻松做到这一点 这是我在这里找到的-未完成-代码的一部分: function validate(evt) { var theEvent = e

我有一个要清理的HTML输入。我希望用户输入除某些字符以外的所有内容。我不知道这些字符是什么,但用户通过复制和粘贴的方式输入它们。升华文本将它们显示为STX、SOH等。我不知道你是否能看到它们,但它们在这里: ". 我不想列出我接受的每个字符,也不能列出这些STX、SOH字符。我不能使用A-Za-z,因为我还希望用户输入像‘ç’这样的字符

我怎样才能轻松做到这一点

这是我在这里找到的-未完成-代码的一部分:

function validate(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  key = String.fromCharCode( key );
  // var regex = /[0-9]|\./;
  var regex = /[a-zA-Z0-9\!\'\+\-\&\\\/\(\)\?\@\#\$\%\^\*\_\|]+/;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
        theEvent.preventDefault();
  }
}

提前非常感谢

我没有确定的答案,但我将从正则表达式中的字符类开始,特别是Unicode类别:。(我知道你的问题是关于JS的,不过是为了获得灵感)
var regex=/[^\x20-\x7E]+/?或者更好的方法是只替换输入事件上的字符串:
$('#input初始化').on('input',function(){this.value=this.value.replace(/[^\x20-\x7E]+/g',);})。当然,这也应该在服务器端进行检查。我不知道要在那里添加多少字符。我写了STX,SOH,但我肯定有很多这样的角色。比如像表情符号。这只是一个HTML
输入,还是他们实际上是复制粘贴到一个
内容可编辑的div
?我以前在内容可编辑div和复制粘贴方面遇到过一些问题。我没有明确的答案,但我会从正则表达式中的字符类开始,特别是Unicode类别:。(我知道你的问题是关于JS的,不过是为了获得灵感)
var regex=/[^\x20-\x7E]+/?或者更好的方法是只替换输入事件上的字符串:
$('#input初始化').on('input',function(){this.value=this.value.replace(/[^\x20-\x7E]+/g',);})。当然,这也应该在服务器端进行检查。我不知道要在那里添加多少字符。我写了STX,SOH,但我肯定有很多这样的角色。比如像表情符号。这只是一个HTML
输入,还是他们实际上是复制粘贴到一个
内容可编辑的div
?我以前在内容可编辑div和复制粘贴方面遇到过问题。