// замена повторяющихся символов
string.replace(/(.)\1{1,}/gu, '*')
// замена повторяющихся символов, но первый символ сохраняем
string.replace(/(.)\1{1,}/gu, '$1*')
// сохраняем первый, и каждый следующий заменяем
str.replace(/(.)\1{1,}/gu, (a,b)=>b+Array(a.length).join('*'))
$('video').on('ended', function(){
this.currentTime = 0;
})
window.onload = function () {
var ImageMap = function (map) {
var n,
areas = map.getElementsByTagName('area'),
len = areas.length,
coords = [],
previousWidth = 1920;
for (n = 0; n < len; n++) {
coords[n] = areas[n].coords.split(',');
}
this.resize = function () {
var n, m, clen,
x = document.body.clientWidth / previousWidth;
for (n = 0; n < len; n++) {
clen = coords[n].length;
for (m = 0; m < clen; m++) {
coords[n][m] *= x;
}
areas[n].coords = coords[n].join(',');
}
previousWidth = document.body.clientWidth;
return true;
};
window.onresize = this.resize;
},
imageMap = new ImageMap(document.getElementById('map_ID'));
imageMap.resize();
}
if ( /* успешно загружено */) {
$response = [
'status' => 'ok',
'url' => $url
];
} else {
$response = ['status' => 'error'];
}
sendJson(response);
$.ajax({
...
success: function (data){
if(data.status == 'ok') {
$('myPreview').attr('src', data.url)
} else {
// показать ошибку
}
}
});
;(function(){
[].slice.call(document.querySelectorAll('img'))
.forEach(img=>img.addEventListener('error', evt=>{
img.src = img.src.replace(
'https://fiddle.jshell.net/badpath/',
'https://i.imgur.com/'
)
}))
})()
document.addEventListener('click', function(evt){
// TODO: проверять какой кнопкой кликнули
console.log(evt)
evt.stopPropagation()
evt.preventDefault()
})
jQuery.fn.exists = function () {
return this.length !== 0
}
if ($('.combobox').exists()) { loadComboboxPlugin() }
if ($('#mailbox .new').exists()) {
// ...
}
setInterval(function(){
if ($('.example .secondExample h3').exists()) {
// ...
}
}, 1000)
setInterval(function(){
if (document.querySelector('.example .secondExample h3')) {
// ...
}
}, 1000)