我正在一个网站上工作,我需要一些代码的帮助,如果网址是
,评估为真的代码stackoverflow.com/users/anytext
但不是当网址
时stackoverflow.com/users /
这是我的代码:
<style>
.hidden {
display: none;
}
&#13;
<body>
<div style = 'height:200px; width:200px; background-color: blue;' class = 'testbox' id = 'testbox'></div>
<script>
function storeurl() {
var testbox = document.getElementById('testbox');
varurl = document.URL; // it should be Global variable, so remove var
if (varurl == 'file:///C:/Users/laptop%202/Desktop/test.html') { /* Need this to detect the url */
if(!testbox.classList.contains('hidden')){
testbox.classList.add("hidden");
};
}
else {
return varurl;
};
};
document.onclick = storeurl;
</script>
</body>
&#13;
我试图用纯Javascript来实现这一目标。我正在研究正则表达式但没有太多运气。
答案 0 :(得分:1)
不使用正则表达式:
var url = "http://stackoverflow.com/users/";
var test1 = "http://stackoverflow.com/users/anything";
var test2 = "http://stackoverflow.com/users/";
console.log(test1.length > url.length && test1.startsWith(url));
console.log(test2.length > url.length && test2.startsWith(url));
(但可能不像使用正则表达式那样灵活....)
干杯!
答案 1 :(得分:0)
您可以使用以下正则表达式:
stackoverflow\.com\/users\/[^\s]+$
.
和/
[^s]
匹配除空白字符以外的任何内容。您也可以在.
+
至少匹配前一个字符(此处为[\s]
)$
字符串结尾这是JavaScript中的一个示例:
var regex = /stackoverflow\.com\/users\/[^\s]+$/
var text1 = "http://stackoverflow.com/users/";
var text2 = "http://stackoverflow.com/users/anything";
console.log(!!text1.match(regex));
console.log(!!text2.match(regex));
&#13;