Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bookmarklet-从URL获取ID并将其放入剪贴板_Javascript_Regex_Url - Fatal编程技术网

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

Javascript Bookmarklet-从URL获取ID并将其放入剪贴板,javascript,regex,url,Javascript,Regex,Url,我现在试着开始使用JQuery,但我还是坚持使用regex。 我想要实现的是: 使用JQuery或JS的Bookmarklet Bookmarklet查看我所在的当前URL 检查URL是否包含如下ID:“1.1188651”(1位数+句点+7位数) 如果选中“确定”,则在剪贴板中复制ID或在新窗口中显示 这能做到吗? 我非常感谢你的帮助 Oliver测试url的正则表达式: /\d\.\d{7}/.test(sUrl); 另见 要同时获取id,请执行以下操作: var sId = /\d\

我现在试着开始使用JQuery,但我还是坚持使用regex。 我想要实现的是:

  • 使用JQuery或JS的Bookmarklet
  • Bookmarklet查看我所在的当前URL
  • 检查URL是否包含如下ID:“1.1188651”(1位数+句点+7位数)
  • 如果选中“确定”,则在剪贴板中复制ID或在新窗口中显示
这能做到吗? 我非常感谢你的帮助

Oliver

测试url的正则表达式:

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

要同时获取id,请执行以下操作:

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

==更新===

因此bookmarklet可以是:

javascript:if((sId=/\d\.\d{7}/.exec(window.location.href))!==null){alert(sId);}
javascript:
bookmarklet的前缀
window.location.href
是当前url
sId=/\d\.\d{7}/.exec(…)
将正则表达式结果保存在
sId

if(>regex检查regex是否匹配;
警报(sId);
在“新窗口”中显示id

==更新2===

如果格式为
12345678
(八位数字),并且第一位数字后需要
,则可以使用以下bookmarklet:

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

您可以这样做将数据复制到剪贴板

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!");
                 }
         }
    }

你有没有一个魔术可以用这种格式显示提取的ID?1.2344566我只需要在第一个数字后面加一个点。我还需要一个关于正则表达式的主要学习课程。这些东西很强大!目前显示的ID是哪种格式?只有第二位带点的ID与正则表达式匹配。现在格式是12345678和t输出应为1.2345678