JavaScript: переменная в регулярном выражении

Для того, чтобы использовать переменную в регулярном выражении в JavaScript, необходимо прибегнуть к помощи конструктора new RegExp(…).

Пример:

var type = 1;
var regex = new RegExp('type='+type,'g');

Таким образом, создается динамический regex-объект. Пример дальнейшего использования:

'mystring'.replace(regex, 'newstring');

JavaScript: отметить все checkbox

Имея большое количество полей типа checkbox в форме, крайне неудобно отмечать каждое поле, когда необходимо выбрать все. В подобной ситуации рекомендуется использовать дополнительный checkbox "Отметить все". Ниже приведен пример JavaScript и HTML кода, решающих эту задачу.

JavaScript: отметить все checkbox

Регулярные выражения jQuery для URL

Валидация URL

var url = '/^(https?://)?([da-z.-]+).([a-z.]{2,6})([/w .-]*)*/?$/'; 

Буквы, цифры, дефисы

var url = '/^[a-z0-9-]+$/'; 

Убирает пробелы

var url = /(https?://)?([da-z.-]+).([a-z.]{2,6})([/w.-=?]*)*/?/

Регулярные выражения jQuery для даты

Дата в формате 21/3/2006

var dateRegex = /(d{1,2}/d{1,2}/d{4})/gm;

Дата в формате ММ/ДД/ГГГГ

var dateRegex = '^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)dd$';

Дата в формате ДД/ММ/ГГГГ

var dateRegex = '^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)dd$';

JavaScript: массив в случайном порядке

Простое решение рандомного массива в JavaScript.

var array = [1,2,3,4,5];
array.sort(function() { return 0.5 - Math.random() });

API Google Maps: перетаскивание маркета

Для перетаскивания маркера необходимо добавить атрибут draggable:true.

Пример кода google-карты с перетаскиваемым маркером:

<script>
var placemark = new google.maps.LatLng(45.038558,38.972702);
var marker;
var map;

function initialize() {
	var mapOptions = {
		zoom: 11,
		center: placemark
	};

	map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

	marker = new google.maps.Marker({
		map:map,
		draggable:true, //перетаскивание маркера
		animation: google.maps.Animation.DROP, //анимация маркера
		position: placemark
	});

	google.maps.event.addListener(marker, 'drag', function(event) {
		var lat = marker.getPosition().lat();
		var lng = marker.getPosition().lng();
		console.log(lat + ',' + lng); //выводим в консоль браузера новые координаты
	});
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>

Google Maps возвращает координаты NaN,NaN

В большинстве случаев API Google.Maps возвращает NaN,NaN, т.к. вы передаете строку.

Необходимо разделить ее на пару значений.

var coordinate = $k('#input_hidden_coordinate').val().split(',');
var latlng = new google.maps.LatLng(coordinate[0],coordinate[1]);
console.log(latlng);

API Яндекс.Карты: событие при нажатие правой клавиши

При клике правой клавишей мыши на Яндекс.Карте, определяем координаты щелчка и вызываем балун.

myMap.events.add('contextmenu', function (e) {
	if (!myMap.balloon.isOpen()) {
		var coords = e.get('coordPosition');
		myMap.balloon.open(coords, {
			contentHeader:'Добавление точки!',
			contentBody: 'Текст',
			contentFooter:'Координаты щелчка: ' + [
				coords[0].toPrecision(8),
				coords[1].toPrecision(8)
			].join(', ')
		});
	} else {
		myMap.balloon.close();
	}
});

Данный пример кода можно использовать при добавлении пользовательских координат.

API Яндекс.Карты: несколько маршрутов на одной карте

Несколько маршрутов на Yandex.Maps реализуется следующим образом:

undefined

API Яндекс.Карты: передача переменных в init

API Яндекс.Карты: передача параметров в init выглядит следующим образом:

ymaps.ready(init(var1, var2));

function init (var1, var2) {
    return function () {
        ...
    };
}