代码之家  ›  专栏  ›  技术社区  ›  Jay Corbett

使用javascript和正则表达式验证HTML文本框

  •  2
  • Jay Corbett  · 技术社区  · 16 年前

    下面的代码只允许字母数字和空格。但是,我还希望允许使用重音字符()。如何修改正则表达式?

    <html>
    <head>
    <script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/JavaScript">
     $(function() {
      $("#sub").bind("click",
       function() {
        $('#addText').val($('#addText').val().replace(new RegExp("[^a-zA-Z0-9 ]","g"), ''));
      });
     });
    </script>
    </head><body>
     <div>Enter Text:</div>
     <input id="addText" type=text/>
     <input id="sub"  type="button" value="Submit" />
    </body></html>
    
    2 回复  |  直到 16 年前
        1
  •  2
  •   Laurence Gonsalves    16 年前

    如果您只关心拉丁字母-1(西欧),这应该可以:

    [A-Za-z\xc0-\xd6\xd8-\xf6\xf8-\xff]
    

    对于其他脚本(例如:希腊文、西里尔文、泰文字母、CJK字符等),事情变得复杂得多,更安全的做法是禁止使用控制字符,而不是试图跟踪哪些字符是“字母”。

        2
  •  0
  •   Gabriele Petrioli    16 年前

    如果您只想添加这一个字符。。只需将其添加到正则表达式中

    [^a-zA-Z0-9Ã ]