检查字符串是否包含非特定单词



我需要检查字符串是否包含指定的单词/句子(javascript)以外的其他内容,如果:

  • 包含一个字母,除了这个短语:ANOTHER CMD
  • 它包含其他指定的多个数字序列,例如:["8809 8805", "8806 8807"](数字是例子,我应该能够测试字符串的任何数组的数字)

谢谢!

可以替换所有不在数组中的

const arr = ["ANOTHER CMD","8809 8805", "8809 8805"]
const okContent = str => { 
arr.forEach(entry => str = str.replaceAll(entry,""))
return str.trim()==="";
};
console.log(okContent('Has other stuff than ANOTHER CMD and 8809 8805'))
console.log(okContent('8809 8805 ANOTHER CMD 8809 8805'))

我不知道这样做是否正确,但这对我来说很有效:

  • 将所有有效单词替换为空白(使用replace)
  • 检查字符串是否为空
  • 如果它是空的,这意味着字符串不包含任何不需要的字符串(检查空间,你可以使用trim方法)

你可以试试regex!

使用字符串数组作为'|'分隔的正则表达式值

并检查给定行中的指定字符串。

const regex = /(ANOTHER CMD|8809 8805|8806 8807)/i
console.log(!regex.test('Should not contain word ANOTHER CMD'))
console.log(regex.test('Should contain word ANOTHER CMD'))

相关内容

  • 没有找到相关文章

最新更新