只有几个字符的正则表达式(正则表达式)

时间:2014-11-11 21:51:35

标签: javascript jquery regex

我在javascript中使用以下函数,它限制了一些字符(重音和特殊)。允许用户输入以下字符:

áéíúÁÉÉÓÚ: - _çÇã~eõÃÕÕÊÊ

但我没有成功,可以帮助我吗?

注意:下面的代码是我目前不知道如何制作允许引用字符的正则表达式

我的正则表达式函数:

$('input').keyup(function() {
   var $th = $(this);
   $th.val($th.val().replace(/[^a-zA-Z0-9 ]/g, function(str) {                                     
        return '';
   });
}));

2 个答案:

答案 0 :(得分:2)

对这些特定字符(可在unicode-table.com上找到)使用unicode十六进制值,并将它们包含在您的字符类中。因此,例如,要允许áé,您可以将表达式修改为:

/[^a-zA-Z0-9 \u00E1\u00E9]/

答案 1 :(得分:1)

如果JavaScript支持直接Unicode编程,您应该只能使用

/[áéíóúÁÉÍÓÚ:-_çÇã~eõÃÕÂÊÔ]/

由于[]选择了一个字符(或字符范围)。