Javascript 如何编写正则表达式来检查字符串是否包含特殊字符和多个空格

Javascript 如何编写正则表达式来检查字符串是否包含特殊字符和多个空格,javascript,regex,typescript,Javascript,Regex,Typescript,我正在尝试检查字符串是否包含^°#*~!“§$%?®¨¨并使用此方法: string myString = "Test%"; var format = /[^°<>#*~!"§$%?®©¶/g]+/; let checkIfContains = format.test(myString); string myString=“Test%”; 变量格式=/[^°#*!”§$%?®¨/g]+/; 让checkIfContains=format.test(my

我正在尝试检查字符串是否包含
^°#*~!“§$%?®¨¨
并使用此方法:

string myString = "Test%";
var format = /[^°<>#*~!"§$%?®©¶/g]+/;
let checkIfContains = format.test(myString);
string myString=“Test%”;
变量格式=/[^°#*!”§$%?®¨/g]+/;
让checkIfContains=format.test(myString);

但当我使用多个单词时,它会失败,因为只有一个空格。在删除空格后,我还检查了空格和字符串长度,但我需要一个正则表达式或格式来解决这个问题。在TypeScript或JavaScript中可以这样做吗?

首先,全局修饰符(/g)应该放在正则表达式的末尾(但如果您只是查找任何匹配项,则不需要在这里)。 其次,
[
后面的
^
符号被视为由
[]
表示的字符集的NOT修饰符,因此在这种情况下,它应该以
\
元字符作为前缀,或者放在
[]
中的其他位置

因此,找到这些字符的正确正则表达式是:

const regex=/[\^°\*~!”§$%?®¨]+/;
正则表达式查找这些字符和多个空格有点棘手,因为我们需要在这里处理几种情况:

  • [空白][特殊字符][空白]
  • [空白][空白][特殊字符]
  • [特殊字符][空白][空白]
  • 此外,中间可能还有其他角色

    处理此问题的正则表达式:

    const regex=/(\s++.[\^°\\\\\\\\*~!”§$%?“”)+.*\s++.*\s++.*.[\^°\\\\\\\\\\\\\\\\\\\*!”§$%?“”++.+.*\s+.*/;
    
    请提供此代码失败的示例输入您没有关闭
    ]
    开始-哦,等等,您有。。。但是在
    []
    中有/g。。。这不应该是
    [^°#*~!”§$%?¨¨]+/g
    -并且在
    [
    之后使用
    ^
    作为第一个字符会否定搜索-所以您需要
    [°^#*~!§$%?)+/g
    我建议你把你所有的特殊角色都砍掉。非常感谢,这似乎有效,我会尽快尝试,如果有问题,我会通知你。