这是我的代码:
if (consoles.toLowerCase().indexOf("nes")!=-1)
document.write('<img class="icon_nes" src="/images/spacer.gif" width="1" height="1">');
if (consoles.toLowerCase().indexOf("snes")!=-1)
document.write('<img class="icon_snes" src="/images/spacer.gif" width="1" height="1">');
当单词“nes”和/或“snes”在字符串“consoles”中时,它应该输出它们各自的图标。如果两个控制台都在字符串内,则应显示两个图标。
这显然是行不通的,因为“nes”也包含在“snes”中。
那么,有没有办法检查“nes”前面是否有 S?
请记住,“nes”可能不是字符串中的第一个单词。
最佳答案
看来你最好测试一下“nes”或“snes”是否作为一个词出现:
if (/\bnes\b/i.test(consoles))
...
if (/\bsnes\b/i.test(consoles))
...
\b
在 regular expressions 中是单词边界,i
表示它们不区分大小写。
现在如果你真的想测试你的字符串中是否有“nes”但前面没有“s”,你可以使用
if (/[^s]nes/i.test(consoles))
关于javascript - 检查字符串前面是否有特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18024100/