变音符号的正则表达式

我正在寻求实现此答案中提供的解决方案,但它无法正常工作。 这个jsFiddle中的代码看起来像这样:

function Start() { $('#TheBox').keyup(function () { var TheInput = $('#TheBox').val(); var TheCleanInput = TheInput.replace(/([.\p{L}])/g, ''); $('#TheBox').val(TheCleanInput); }); } $(Start); 

基本上,我希望允许诸如éèô之类的字母以及数字。 我需要更改什么才能使正则表达式filter工作?

谢谢。

正如Casimir et Hippolyte在评论中所述,Javascript不支持\p{L} unicode字符类。

您可以创建自己的角色类:

 [a-zA-Z0-9À-ž] 

演示

如果要允许这些字符但替换这些范围之外的字符,则否定字符类:

 [^a-zA-Z0-9À-ž] 

演示

[À-ž]字符类包括以下字符,下面以黄色突出显示。

在此处输入图像描述