变音符号的正则表达式
我正在寻求实现此答案中提供的解决方案,但它无法正常工作。 这个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À-ž]
演示
[À-ž]
字符类包括以下字符,下面以黄色突出显示。