使用javascript和regex验证HTML文本框

时间:2010-01-12 22:15:25

标签: javascript jquery regex

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

由于

<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 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

[^a-zA-Z0-9Ã ]

请记住,虽然可能会出现如下所述的并发症,但请遵循Laurence Gonsalves的建议