javascript中的正则表达式限制一些特殊字符,如"%,+,>,<,`"

时间:2018-05-17 10:57:49

标签: javascript html

我不想检查没有条件。我只是希望正则表达式检查给定的字符并返回false(如果有的话)。

 <form name="f" onsubmit="return onlyAlphabets()">
     <input type="text" name="nm" onkeypress="return myFunction(event)">
     <div id="notification"></div>
     <input type="submit">
  </form>
  <script>
  function myFunction(e) {
  var regex = /^[%+<>]/g;
  if (!regex.test(String.fromCharCode(e.keyCode))) {
     return true;
  } 
  else {
<form name="f" onsubmit="return onlyAlphabets()">
      <input type="text" name="nm" onkeypress="return myFunction(event)">
      <div id="notification"></div>
      <input type="submit">
      </form>
      <script>
      function myFunction(e) {
      var regex = /^[%+<>]/g   //   /^\d+$/; // /^[a-zA-Z\s]+$/;
      if (!regex.test(String.fromCharCode(e.keyCode))) {
         return true;
      } 
      else {         
        return false;
      }
    }
</script>

2 个答案:

答案 0 :(得分:0)

<form name="f" onsubmit="return onlyAlphabets()">
  <input type="text" name="nm" onkeypress="return myFunction(event)">
  <div id="notification"></div>
  <input type="submit">
  </form>
  <script>
  function myFunction(e) {
  var regex = /[^%+<>]/g;
  if (!regex.test(String.fromCharCode(e.keyCode))) {
     return true;
  } 
  else {         
    return false;
  }
}

答案 1 :(得分:0)

虽然您没有提供您想要禁用的内容的完整列表,但这是更通用的

myFunction = e => /[*|\":<>[\]{}`\\()';@%!&$]/.test(String.fromCharCode(e.keyCode))