【问题标题】:Validating HTML text box with javascript and regex使用 javascript 和正则表达式验证 HTML 文本框
【发布时间】:2010-01-12 22:15:25
【问题描述】:

以下代码仅允许使用字母数字和空格。但是,我还想允许使用重音字符 (Ã)。应该如何修改正则表达式?

谢谢

<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>

【问题讨论】:

    标签: javascript jquery regex


    【解决方案1】:

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

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

    对于其他脚本(例如:希腊语、西里尔语、泰语字母、CJK 字符等),事情会变得更加复杂,而且仅仅禁止控制字符之类的东西会变得更安全,而不是试图跟踪哪些字符是“字母”。

    【讨论】:

      【解决方案2】:

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

      [^a-zA-Z0-9Ã ]
      

      请记住,尽管可能存在如下所述的并发症,因此请遵循 Laurence Gonsalves 的建议

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-10
        • 1970-01-01
        • 1970-01-01
        • 2012-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多