2011-12-13 83 views
1

我尝试了一段时间,现在就可以开始使用jQuery,但我再次坚持了正则表达式。 我想实现的是:使用JQuery的JS或 书签 - 从网址提取ID,并把它放在剪贴板

  • 小书签

    • 小书签着眼于当前的URL我在
    • 检查,如果URL中包含这样的ID:“1.1188651”(1digit +周期+ 7digits)
    • 如果检查确定,然后在新的窗口剪贴板或显示复制ID

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

    奥利弗

  • 回答

    0

    正则表达式来测试的网址:

    /\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是当前的url;
    sId=/\d\.\d{7}/.exec(...)节省sId正则表达式的结果;
    if(>regex<!==null) {...}检查是否正则表达式匹配了;
    alert(sId);显示在一个“新窗口”的ID。

    ===更新2 ===

    如果格式12345678(8位),你想第一个数字后.,你可以用以下书签:

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

    增加了一个可能的书签。 – scessor

    +0

    哇。为此非常感谢!我学到了东西。 –

    +0

    你有一种魔术技巧,以这种格式显示获取的ID吗? 1.2344566 我需要的只是第一个数字后的一个点。 我需要一个正则表达式的主要学习课程。这些东西是强大的! –

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