Bookmarklet - получить идентификатор из URL и поместить его в буфер обмена - PullRequest
1 голос
/ 13 декабря 2011

Сейчас я некоторое время пытаюсь начать работу с JQuery, но снова я застрял с регулярным выражением.Чего я хочу добиться, так это:

  • Букмарклет, использующий JQuery или JS
  • Букмарклет просматривает текущий URL-адрес, на котором я
  • Проверьте, содержит ли URL идентификаторнапример: «1.1188651» (1 цифра + точка + 7 цифр)
  • Если флажок «ОК», скопировать идентификатор в буфер обмена или отобразить в новом окне

Можно ли это сделать?Я очень благодарен за вашу помощь.

Оливер

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

Вы можете сделать это, чтобы скопировать данные в буфер обмена.

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!");
                 }
         }
    }
0 голосов
/ 13 декабря 2011

RegEx для проверки URL:

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

Также см. этот jsfiddle .

Чтобы также получить идентификатор:

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

Также смотрите мой второй jsfiddle .

=== ОБНОВЛЕНИЕ ===

Таким образом, букмарклет может быть:

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); показываетидентификатор в «новом окне».

=== ОБНОВЛЕНИЕ 2 ===

Если формат 12345678 (восемь цифр) и вы хотите . после первой цифрыВы можете использовать следующий букмарклет:

javascript:if((aId=/(\d)(\d{7})/.exec(window.location.href))!==null){alert(aId[1]+'.'+aId[2]);}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...