Как проверить, содержит ли строка «__X__», и если да, дать предупреждение (); - PullRequest
3 голосов
/ 13 января 2012

Я работаю над динамической страницей, где input#first.val() является динамическим.

В основном, значения, которые я получу, это либо Имя устройства, либо разрешение устройства.

Скажите, если input#first.val() - это имя устройства, например "iPad", тогда мне больше не нужно никаких действий.

Но если input#first.val() - это разрешение устройства, например "1024 X 768", тогда я хочу предупредить пользователя.

Так как же определить, является ли input#first.val() разрешением устройства?

Кроме того, разрешение устройства будет динамическим, поэтому оно может выглядеть следующим образом ...

  • " 1024 X 768 "
  • " 480 X 640 "
  • " 320 X 480 "

Общее будет: " _ X _ "

Так как мне обнаружить " _ X _ " в input#first.val() и предупредить пользователя?

Может быть, с :contains и строковым объектом?

<input type="text" id="first" name="name" value=""/>

1 Ответ

4 голосов
/ 13 января 2012

Вы можете проверить его с помощью регулярного выражения:

if ($("input#first").val().match(/\d+\s*X\s*\d+/i)) {
    // value contains ddd X ddd
}

В порядке пояснения это регулярное выражение:

a series of one or more digits
followed by zero or more whitespace elements
followed by an "X" or "x"
followed by zero or more whitespace elements
followed by a series of one or more digits

Если вы хотите потребовать, чтобы больше ничего не былоно для разрешения чисел вы можете использовать это:

if ($("input#first").val().match(/^\d+\s*X\s*\d+$/i)) {
    // value contains ddd X ddd
}

Если вы хотите, чтобы каждое число было не менее 3 цифр, вы можете использовать это:

if ($("input#first").val().match(/^\d{3,}\s*X\s*\d{3,}$/i)) {
    // value contains ddd X ddd
}

Также естьесть ли причина использовать «input # first» в качестве селектора вместо «#first»?Укороченная версия меньше работает для механизма выбора, и поскольку идентификаторы должны быть уникальными на странице, она должна генерировать тот же результат, если только вы не пытаетесь каким-то образом отфильтровать #first, который не был во входном теге (что кажется маловероятным).

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