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
我建议你把你所有的特殊角色都砍掉。非常感谢,这似乎有效,我会尽快尝试,如果有问题,我会通知你。