我很惊讶没有找到关于此的任何帖子,我必须遗漏一些非常微不足道的事情。我有一个小的JavaScript函数来检查字符串是否匹配对象的属性。简单的东西吧?除了那些包含正斜杠的字符串外,它对所有字符串都很容易。
"04/08/2015".indexOf('4') // returns 2 :good
"04/08/2015".indexOf('4/') // returns -1 :why?
同样的问题似乎也出现在.search()函数中。我在处理日期字符串时遇到了这个问题。
请注意,出于性能原因,我不想使用基于正则表达式的解决方案。感谢您的帮助!
答案 0 :(得分:3)
您的字符串中包含不可见的Unicode字符。 "从左到右标记" (十六进制200E)出现在两个斜杠字符周围以及字符串的开头和结尾处。
如果您在浏览器控制台上输入代码而不是剪切和粘贴代码,那么您将看到它按预期工作。