Может ли регулярное выражение знать, является ли дата выходным или нет? - PullRequest
4 голосов
/ 04 августа 2010

Используя javascript, мне нужно проверить поле формы, содержащее дату в формате: 21/04/2010.Дата должна быть днем ​​недели.Можно ли создать регулярное выражение для этого или есть другой, лучший способ сделать это?

Ответы [ 5 ]

7 голосов
/ 04 августа 2010

Regex явно не тот инструмент.Используйте Date.getDay () :

var d = new Date();
var parts = dateStr.split("/");
// Date of month is 0-indexed.
var d = new Date(parts[2], parts[1] - 1, parts[0]);
var day = d.getDay();
if(day == 0 || day == 6)
{
  // weekend
}
4 голосов
/ 04 августа 2010

Используйте getDay(), которое возвращает целое число от 0 до 6, где 0 - воскресенье, а 6 - суббота.

Если значение 1-5, то это будний день.

0 или 6 означает, что это выходные.

3 голосов
/ 04 августа 2010

Javascript имеет класс даты. Смотри http://www.w3schools.com/jsref/jsref_obj_date.asp

Что вам нужно будет сделать, это создать объект Date:

date = new Date(2010, 5, 19); //Year, month, day

Обратите внимание, что месяц проиндексирован на ноль, поэтому вычтите на 1. Это июнь

Тогда получите день:

day = date.getDay(); //Day is also 0 indexed.

var weekday=new Array(7);
weekday[0]="Sunday";
weekday[1]="Monday";
weekday[2]="Tuesday";
weekday[3]="Wednesday";
weekday[4]="Thursday";
weekday[5]="Friday";
weekday[6]="Saturday";

document.write("Today is " + weekday[date.getDay()]);
1 голос
/ 04 августа 2010

Функция Javascript Date.parse указана только для используемого стандартного времени IETF (например, "Aug 9, 1995"), поэтому не соответствует вашим требованиям.Для 21/04/2010 вам нужно разделить его самостоятельно и использовать конструктор Date для сборки даты.Вероятно, было бы безопаснее использовать что-то проверенное и испытанное.Вы смотрели на datejs ?

0 голосов
/ 04 августа 2010

Простой ответ: НЕТ .Используйте Date.getDay(), поскольку он сделан именно для этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...