使用 test 和 location.href 在 URL 中查找字符串

Look for a string in URL using test and location.href

我正在尝试创建一个代码,仅当单词 "obyn" 在 URL 中时才会显示文本。

     <p id="p1">Hello World!</p>

       <script>
     function myFunction() {
         var str = self.location.href;
         var patt = new RegExp("obyn");
         var res = patt.test(str);
         return res;
     }

     if(myFunction()){
         document.getElementById("p1").innerHTML = "New text!";
      else{
         document.getElementById("p1").innerHTML = "Text 2";
      }  
     </script>

编辑: 按照下面的建议进行更改后,它仍然不起作用。它总是显示 "Hello World!".

您无法从 PHP、

执行 Javascript 函数

这里的解决方案是只用 Javascript 做你想做的事。 (您可以附加 'This text' 或 "Nope",就像您在 PHP 中所做的那样,但使​​用 DOM 或 JQuery)

您应该在函数末尾添加这一行:

return res; //returns true or false

那你就可以像这样测试一下

 if(myFunction()){
    var node = document.createElement("A");//This creates something like "<a> </a>                 
    var textnode = document.createTextNode("This text"); //This creates a text    
    node.appendChild(textnode);//Then it appends your text to the div so "<a>This text</a>"    
    document.getElementById("myDiv").appendChild(node); //Then you can append it to your div "<div id="myDiv> </div> like this 
 }
 else{
     //try to do the same job for "Nope" to understand the code I just gave you :)
 }