为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

斯蒂芬大帝 2023-04-20 16:36:06
我正在尝试检查一个字符串是否包含^°<>#*~!"§$%?®©¶并使用了这种方法:string myString = "Test%";var format = /[^°<>#*~!"§$%?®©¶/g]+/;let checkIfContains = format.test(myString);但是当我使用多个单词时,它会失败,因为只有一个空格。删除空格后我还检查了空格和字符串长度,但我需要一个正则表达式或格式来解决这个问题。是否可以在 TypeScript 或 JavaScript 中执行此操作?
查看完整描述

1 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

首先,全局修饰符 (/g) 应该放在正则表达式的最后(但如果你只是寻找任何匹配项,那么这里并不重要)。其次,^紧随其后的符号[被视为由 表示的字符集的 NOT 修饰符[],因此在这种情况下,它应该在元字符前面加上\元字符,或者放在其他地方[]

所以找到任何这些字符的正确正则表达式是:

    const regex = /[\^°<>#*~!"§$%?®©¶]+/;

正则表达式查找任何这些字符和多个空格有点棘手,因为我们需要在这里处理几种情况:

  1. [空格][特殊字符][空格]

  2. [空格][空格][特殊字符]

  3. [特殊字符][空格][空格]

此外,中间可能还有一些其他字符

正则表达式来处理这个:

    const regex = /(\s+.*[\^°<>#*~!"§$%?®©¶]+.*\s+|\s+.*\s+.*[\^°<>#*~!"§$%?®©¶]+|[\^°<>#*~!"§$%?®©¶]+.*\s+.*\s+)/;



查看完整回答
反对 回复 2023-04-20
  • 1 回答
  • 0 关注
  • 229 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信