我发现无法在地址栏中搜索特定值.
var str = window.location;
//var str = "http://www.website.com/78203/";
var x = str.search(/78203/i);
alert(x);
Run Code Online (Sandbox Code Playgroud)
上面的代码什么也没有返回,实际上杀死了其他任何东西的运行(表示错误),但控制台中没有任何东西被抛出.
如果你删除注释,它运行正常,返回一个大于-1的值(意味着它找到了一些东西).
这显然是我无法正确理解的事情,有人可以帮助我吗?
你应该使用window.location.href,因为它window.location是一个对象,而不是一个字符串,它有一个search属性,它包含跟随的URL部分?符号,包括?符号.
var str = window.location.href;
var x = str.search(/78203/i);
Run Code Online (Sandbox Code Playgroud)
您还可以使用String.indexOf函数:
var str = window.location.href;
var x = str.indexOf('78203');
Run Code Online (Sandbox Code Playgroud)
它们都会返回第一次出现的搜索字符串(或模式)的字符位置,如果找不到该值,它将返回给您-1.
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |