需要Js代码来检查管道“|”以字符串形式出现

时间:2010-06-28 13:24:31

标签: javascript

HI 我想要一个脚本来检查至少一次“| Viewed”字出现在js字符串中。 样本Js sting wolll将是“22 |测试|观看,22 |测试|未观看,22 |测试|观看”。

任何人都可以帮助我吗? THx

2 个答案:

答案 0 :(得分:3)

其他人已经提到过indexOf你可以做的事情:

<html><body><script type="text/javascript">
    var str="22|Test|Viewed,22|Test|Un-Viewed,22|Test|Viewed";
    document.write(str.indexOf("|Viewed"));
</script></body></html>

但我还想提一个更强大的选项(如果需要) - 你可以使用正则表达式字符串搜索方法:

<html><body><script type="text/javascript">
    var str="22|Test|Viewed,22|Test|Un-Viewed,22|Test|Viewed";
    document.write(str.search("\\|Viewed"));
</script></body></html>

将其中任何一个键入文件(xx.html)并将其加载到浏览器中,您将看到数字7出现,这是找到的字符串的第一个位置。这个值从零开始(0是第一个位置),如果找不到,你将返回-1。

正则表达式版本将允许更复杂的搜索模式,对于这种特定情况不是必需的,但是当一个简单的常量字符串可能不够时,你应该记住它。

答案 1 :(得分:2)

<html><body><script type="text/javascript">
    var my_string = "22|Test|Viewed,22|Test|Un-Viewed,22|Test|Viewed";
    var the_matchIndex = my_string.indexOf('|Viewed');
    var blMatch = the_matchIndex > -1;
    alert(blMatch ? "Found a match!" : "No match found");
</script></body></html>