Регулярные выражения JavaScript - проверка Обязательного поля

Еще одна демонстрация с высотой, заданной как значение с плавающей точкой-px / integer-px, и ее вычисленное свойство css против атрибута style. Обычно я бы предпочел использовать целочисленные значения в пикселях, но с плавающей точкой все работает нормально. Просто убедитесь, что numberHours никогда не равно нулю. https://codepen.io/anon/pen/zyVzZM

7
задан 20 November 2008 в 06:34
поделиться

3 ответа

/^\s*$/.test(string)

Мог использоваться как так:

var empty_string = /^\s*$/; //create RegExp object for re-use

if (empty_string.test(myFormField.value))
{
  alert("Please be a bit more elaborate!");
}
5
ответ дан 6 December 2019 в 11:53
поделиться
if (myField.value.match(/\S/)) {
  // field is not empty
}
// or
if (/\S/.test(myField.value)) {
  // field is not empty
}

Объяснение, так как у других людей, кажется, есть некоторые сумасшедшие различные идеи:

\s будет соответствовать пространству, вкладке или новой строке.
\S будет соответствовать чему-либо кроме пространства, вкладки или новой строки.
Если Ваша строка имеет отдельный символ, который не является пространством, вкладкой или новой строкой, то это не пусто.
Поэтому просто необходимо искать один символ: \S

12
ответ дан 6 December 2019 в 11:53
поделиться

Путем тестирования на

/\s/ or /\S/
Вы будете только тестировать на один символ. Так, будет лучше протестировать вместо этого на:
/^\s+$/ or /^\S+$/

Править: обратите внимание на то, что или не часть кода.

EDIT2:

Тест для соответствия:


if(string.match(/^\s+$/)) {
   alert("string is empty!");
}

И тест для несоответствия:


if(!string.match(/^\S+$/)) {
   alert("string is empty!");
}

Вы могли использовать любой из них к тому же результату.

0
ответ дан 6 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: