javascript – 正则表达式禁止所有特殊字符但允许jQuery中的德语变音符号?

我想允许所有字母数字字符并禁止RegEx中的所有特殊字符.但是我想允许德国的变形金刚,但因为它们也是特殊的Chars,我不能输入它们.我使用这个脚本:
if(website_media_description.match(/[^a-zA-Z0-9]/g)) { 

    alert('Found Special Char');        

}

因此,当äöüÄÖÜß在变量中时,我也会收到警报.我也试过这个脚本:

if(website_media_description.match(/[^a-zA-Z0-9äöüÄÖÜß]/g)) { 

    alert('Found Special Char');        

}

但这也行不通.有人可以告诉我我做错了什么吗?

谢谢 :)

解决方法

my test String comes from an input field,i write “description test 1 öäüÖÄÜß”

您的问题来自于您未考虑白名单中所需的每个字符的事实.

让我们考虑一下您的测试字符串实际匹配的内容

"description test 1 öäüÖÄÜß".match(/[^a-zA-Z0-9äöüÄÖÜß]/g);
// [" "," "," "]

我们可以看到,它匹配了3次,每次都是空白.因此,解决方案是为白名单添加空间(假设您不希望允许制表符/返回等).

"description test 1 öäüÖÄÜß".match(/[^a-zA-Z0-9äöüÄÖÜß ]/g);
// null

您的测试字符串现在通过RegExp而没有匹配,这意味着它在这种情况下有效.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...