Проверка текстового поля HTML с помощью JavaScript и регулярных выражений - PullRequest
2 голосов
/ 13 января 2010

Приведенный ниже код работает только для разрешения буквенно-цифровых символов и пробелов. Тем не менее, я хотел бы также разрешить акцентированный символ (Ã). Как изменить регулярное выражение?

Спасибо

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

2 голосов
/ 13 января 2010

Если вас интересуют только буквы латинского алфавита (западноевропейские), это должно сработать:

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

Для других скриптов (например, греческих, кириллических, тайских букв, символов CJK и т. Д.) Все становится намного сложнее, и становится безопаснее просто запретить такие вещи, как управляющие символы, чем пытаться отслеживать, какие символы "письмо".

0 голосов
/ 13 января 2010

Если вы просто хотите добавить этот символ ... просто добавьте его в регулярное выражение

[^a-zA-Z0-9Ã ]

Имейте в виду, что могут быть осложнения, как указано ниже, поэтому следуйте предложению Лоуренса Гонсалвеса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...