我正在尝试使用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
答案 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(' '));