使用indexOf进行Javascript子字符串检查或使用正斜杠搜索日期字符串/

时间:2015-11-11 17:23:58

标签: javascript string date

我很惊讶没有找到关于此的任何帖子,我必须遗漏一些非常微不足道的事情。我有一个小的JavaScript函数来检查字符串是否匹配对象的属性。简单的东西吧?除了那些包含正斜杠的字符串外,它对所有字符串都很容易。

"‎04‎/‎08‎/‎2015‎".indexOf('4') // returns 2 :good
"‎04‎/‎08‎/‎2015‎".indexOf('4/') // returns -1 :why?

同样的问题似乎也出现在.search()函数中。我在处理日期字符串时遇到了这个问题。

请注意,出于性能原因,我不想使用基于正则表达式的解决方案。感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您的字符串中包含不可见的Unicode字符。 "从左到右标记" (十六进制200E)出现在两个斜杠字符周围以及字符串的开头和结尾处。

如果您在浏览器控制台上输入代码而不是剪切和粘贴代码,那么您将看到它按预期工作。