Regex to detect deformed words
You can use .* between the chars, [o0] for o and zero and the flag i for case-insensitive matches:


[
  "h@@$$eee///LLL!!!ooo",
  "Hello",
  "HhhheeeEEEElllLLLLoooOOOO",
  "hell0",
  "h   e l    l o / h. e .l .L . o",
  "h@@$$eee///LLL!!!ooo"
].forEach(string => {
  if (string.match(/h.*e.*l.*l.*[o0]/i)) {
    console.log("Yes");
  } else {
    console.log("No");
  }
});



You can use a dynamic regular expression:


const input = "Hello";
const re = new RegExp(input.toLowerCase().split('').map(c => c === 'o' ? '[o0]' : c).join('.*'), 'i');

[
  "h@@$$eee///LLL!!!ooo",
  "Hello",
  "HhhheeeEEEElllLLLLoooOOOO",
  "hell0",
  "h   e l    l o / h. e .l .L . o",
  "h@@$$eee///LLL!!!ooo"
].forEach(string => {
  if (string.match(re)) {
    console.log("Yes");
  } else {
    console.log("No");
  }
});



I used an additional toLowerCase to simplify the replacement of o => [o0].

I need to detect if a string contains a specific word like "Hello".

Hello -> yes
HhhheeeEEEElllLLLLoooOOOO -> Yes
hell0 -> yes
h   e l    l o / h. e .l .L . o -> Yes
h@@$$eee///LLL!!!ooo -> yes

My attempt:
let string = "h@@$$eee///LLL!!!ooo";

if (string.match(/\bhello\b/i)) {
      console.log("Yes");
} else {
      console.log("No");
}

