Bookmarklet - 从URL获取ID并将其放入剪贴板

时间:2011-12-13 07:47:25

标签: javascript regex url

我现在正试着开始使用JQuery,但我再次坚持使用正则表达式。 我想要实现的是:

  • 使用JQuery或JS
  • 的Bookmarklet
  • Bookmarklet查看我当前的网址
  • 检查网址是否包含如下ID:'1.1188651'(1digit + period + 7digits)
  • 如果检查确定,则在剪贴板中复制ID或在新窗口中显示

可以这样做吗? 我非常感谢你的帮助。

奥利弗

2 个答案:

答案 0 :(得分:0)

RegEx测试网址:

/\d\.\d{7}/.test(sUrl);

另见this jsfiddle

还要获取id:

var sId = /\d\.\d{7}/.exec(sUrl);
if (sId !== null) {
    alert(sId);
}

另见second jsfiddle

=== UPDATE ===

所以书签可以是:

javascript:if((sId=/\d\.\d{7}/.exec(window.location.href))!==null){alert(sId);}
小书签的

javascript:前缀;
window.location.href是当前网址;
sId=/\d\.\d{7}/.exec(...)将正则表达式结果保存在sId;
if(>regex<!==null) {...}检查正则表达式是否匹配;
alert(sId);在“新窗口”中显示ID。

===更新2 ===

如果格式为12345678(八位数)并且您希望在第一个数字后面有.,则可以使用以下bookmarklet:

javascript:if((aId=/(\d)(\d{7})/.exec(window.location.href))!==null){alert(aId[1]+'.'+aId[2]);}

答案 1 :(得分:0)

您可以执行此操作将数据复制到剪贴板。

funcation CopyToClipboard(myHerf){
        if (window.clipboardData) {
            var ok = window.clipboardData.setData("Text", myHerf);
            if (ok) {
                Alert("Copy OK,Ctrl+V Paste");
                    }
            else {
                 alert("Sorry,IE Only!");
                 }
         }
    }