这是我今天遇到的一个有趣的片段:
/\ba/.test("a") --> true
/\bà/.test("à") --> false
Run Code Online (Sandbox Code Playgroud)
然而,
/à/.test("à") --> true
Run Code Online (Sandbox Code Playgroud)
首先,wtf?
其次,如果我想在单词的开头匹配重音字符,我该怎么做?(我真的很想避免使用过顶选择器/(?:^|\s|'|\(\) ....)
我想允许所有字母数字字符并禁止RegEx中的所有特殊字符.但是我想允许德国的变形金刚,但因为它们也是特殊的Chars,我不能输入它们.我使用这个脚本:
if(website_media_description.match(/[^a-zA-Z0-9]/g)) {
alert('Found Special Char');
}
Run Code Online (Sandbox Code Playgroud)
因此,当äöüÄÖÜß在变量中时,我也会收到警报.我也试过这个脚本:
if(website_media_description.match(/[^a-zA-Z0-9äöüÄÖÜß]/g)) {
alert('Found Special Char');
}
Run Code Online (Sandbox Code Playgroud)
但这也行不通.有人可以告诉我我做错了什么吗?
谢谢 :)
我正在寻求实现此答案中提供的解决方案,但它无法正常工作.这个jsFiddle中的代码看起来像这样:
function Start() {
$('#TheBox').keyup(function () {
var TheInput = $('#TheBox').val();
var TheCleanInput = TheInput.replace(/([.\p{L}])/g, '');
$('#TheBox').val(TheCleanInput);
});
}
$(Start);
Run Code Online (Sandbox Code Playgroud)
基本上,我希望允许使用诸如éèô和数字之类的字母.我需要更改什么才能使正则表达式过滤器工作?
谢谢.
我有以下执行此操作的正则表达式:
pattern='^.*(?=.{8,})(?=.*[a-zA-Z])(?=.*\d).*$'
Run Code Online (Sandbox Code Playgroud)
不幸的是,不包括德语ä,ö,ü之类的特殊字符,因此类似的模式1234567ä将失败。有谁知道如何让他们进入这个表情?我猜应该在该(?=.*[a-zA-Z])部分中。预先感谢您的努力