Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
[javascript] помогите дописать скрипт с регулярными выражениями |

14.08.2007, 14:02
|
|
Постоянный
Регистрация: 06.12.2006
Сообщений: 762
Провел на форуме: 5352530
Репутация:
2062
|
|
[javascript] помогите дописать скрипт с регулярными выражениями
Ниже вы можете видеть скрипт для браузера, который по нажатию Shift+Enter преобразует строку в форме ввода (в форме быстрого ответа для отправки текста)
из
04b2539eecc816ecb9af7adb9ce60493:пароль
в
Код:
04b2539eecc816ecb9af7adb9ce60493:пароль
То есть текст после последнего двоточия выделятся красным цветом.
Что нужно
1) чтоб он корректно воспринимал DES и mysql3 хеши 2) тоже самое для freebsd md5
3) корректная работа с записями
хеш:пароль
логин:хеш:пароль
хеш:соль:пароль
логин:хеш:соль:пароль
От чего можно отталкиваться
Mysql - 16 символов
Как и md5 состоит из символов abcdef0987654321
DES - 13 символов
freebsd md5 - 32 символа (пример $1$ 12345678$tDiEmRj8eI0HYEz5Z9P3L/)
Начинается с $1, между $ идет соль до 8 символов (выделил синим цветом), далее 22 символа
ЗЫ для сальтовых мд5 соль обычно 3 или 5 символов, но пока и без этих заморочек стабильно работает
Сам не шарю, на многое не способен
Код:
// Ctrl+Enter RedHash Submits
// version 0.2
// 09.08.2007
// Это Greasemonkey user script.
// Скачать Greasemonkey можно тут: http://greasemonkey.mozdev.org/
// Инсталируйте Greasemonkey
// В вкладке Tools будет новое меню "Install User Script".
// Инсталируте скрипт с дефолтными настройками
// Тестировалось с https://addons.mozilla.org/ru/firefox/downloads/file/16465/greasemonkey-0.7.20070607.0-fx.xpi
// --------------------------------------------------------------------
// Opera 8/9 совместимый скрипт.
// Для инсталяции разместите скрипт в какой-то папке и укажите к ней путь как к папке с пользовательскими скриптами
// Tools > Preferences > Advanced > Content > Javascript Options
// для https в Опере нужно специальное разрешение
// opera:config#UserPrefs|UserJavaScriptonHTTPS
// ---------------------------------------------------------------------
// тестировалось на Firefox 2.0 и Opera 9.21
// ---------------------------------------------------------------------
// ==UserScript==
// @name Ctrl+Enter RedHash Submits
// @description Allows submitting on Ctrl+Enter in any input and textarea
// @include *
// ==/UserScript==
function redhash(text) {
replacements = [
[/(\w{31,32}\:)([^\s\r]+\:)([^\s\r]+)/mig, '$1$2$3'],
[/(\w{31,32}\:)([^\s\r\:]+$)/mig, '$1$2'],
];
s = text
for( i=0; i < replacements.length; i++) {
s = s.replace(replacements[i][0], replacements[i][1])
}
return s
}
function trigger_submit_on_ctrl_enter(e) {
if ((e.keyCode==13) && (e.ctrlKey || e.shiftKey)) {
p = this.parentNode
i = 0
if (this.nodeName == 'TEXTAREA')
this.value = redhash(this.value)
while (p.nodeName != 'FORM' && i++ < 100)
p = p.parentNode
if (p.nodeName == 'FORM' && e.ctrlKey)
p.submit()
}
}
if (document.evaluate) { // Firefox
allInps = document.evaluate("//textarea[not(@id='instant_comment_textarea')] | //select | //input", document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < allInps.snapshotLength; i++) {
t = allInps.snapshotItem(i);
t.addEventListener("keydown", trigger_submit_on_ctrl_enter, 0);
}
} else { // Opera 8 does not support XPath
elemTags = ['textarea', 'select', 'input']
for(j = 0; j< elemTags.length; j++) {
inps = document.getElementsByTagName(elemTags[j])
for (var i = 0; i < inps.length; i++)
inps[i].addEventListener("keydown", trigger_submit_on_ctrl_enter, 0);
}
}
Последний раз редактировалось Thanat0z; 22.08.2007 в 18:47..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|