2015-12-07 2 views
1

Я использую редактор TinyMCE на нашем веб-сайте и хотел бы добавить к нему определенный вид проверки.TinyMCE - проверка правильности

Чтобы показать изображения, я загружаю эти изображения на файловый сервер и вводите этот URL-адрес в TinyMCE. Поскольку некоторые пользователи могут не знать, что им нужно сначала загрузить изображение на сервер и не могут просто выбрать изображение на своем жестком диске, я хотел бы добавить проверку на стороне клиента, чтобы проверить правильность URL-адреса изображения (т.е. на сервере, а не на «D:/...»).

Возможно ли это, возможно, даже из коробки?

+0

так вы хотите проверить сервер? – Thariama

+0

Предпочтительно проверка на стороне клиента :) – deimos1988

ответ

0

Вот функция для проверки действительного URL (взято из here):

function is_valid_url(value) 
{ 
    return = /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); 
} 

Для проверки SRC-атрибуте редактора изображений вы можете использовать то:

var editor = tinymce.get('your_editor_id'); 
var $body = $(editor.getBody()); 
var $images = $body.find('img'); 
$images.each(function(){ 
    var url = this.getAttribute('src'); 
    console.log(url + 'is a valid URL:', is_valid_url(url)); 
}); 
+0

Хорошо спасибо, но знаете ли вы, какое событие вызывается, когда я нажимаю «ОК» на «вставить изображение» -диалог? Это должно быть точкой входа проверки. – deimos1988

+0

честно, я не знаю – Thariama

Смежные вопросы