验证数组脚本中的字符串是否有问题

时间:2012-03-29 23:31:26

标签: javascript jquery verify

我正在尝试使用javascript验证字符串是否在数组中。我四处搜索并找到了下面的代码(它也有我的一些改动)。我设置它,以便在成功和失败时发出警报。当它成功时,每次运行之后,它都会停留在成功之前,直到刷新页面。如果它失败了,同样的事情发生了。什么能使它每次运行时都重新开始?

function urlVerify(a, b) {
    for (var j=0; j<a.length; j++) {
        if (a[j].match (b)) {
            ...
            alert('found');
            return j;
        }
    } 
    ...
    alert('notfound');
    return -1;
}

包含数组并调用该函数的代码如下:

$(document).ready(function() {

    var urlPlain = window.location.hash.replace(/[#/]+/g, "");

    var pageIndex = [
        'home',
        'contact'
    ]       

    urlVerify(pageIndex, urlPlain);

});

普通网站网址如下:www.example.com/#/home

然后urlPlain变量将其简化为:home

1 个答案:

答案 0 :(得分:1)

删除所需的所有内容:

var lastBit = url.replace(/.*#\//, '')

以上将返回最后一个“#/”之后的所有内容。但是如果你只想要最后一点,为什么要包含哈希?

要查看单词是否在数组中,根据字符串,您可以使用:

var hasLastBit = wordArray.join().match(lastBit);

或更准确的版本:

var re = new RegExp('(^|\s)' + lastBit + '(\s|$)');
var hasLastBit = re.test(wordArray.join(' '));