2014-01-15 2 views
0

У меня есть HTML-форма с полем ввода и кнопкой. Я связал событие отправки на нем, но когда я попытаюсь сопоставить значение поля ввода с регулярным выражением (/\w+/), я получаю несогласованные результаты:Как получить исходное значение входного тега внутри функции отправки JQuery?

1) Похоже, что он меняет значения на символы с кодировкой в ​​URI (например, он заменяет пробелы +).
2) Даже если он изменяет значения на символы, закодированные в URI, как возможно, что регулярное выражение (/\w+/) соответствует + или другим не-буквенно-цифровым символам?

Как получить необработанное значение?

Мой код JQuery:

$('#form-send-username').on('submit', registrationFormListener); 
function registrationFormListener(event) { 
    event.preventDefault(); 
    console.log($('#user-input-box').val());   // Print raw value 
    if($('#user-input-box').val().match(/\w+/)) {  // Even matches non-alphanumeric characters 
     ... 
    } 
} 
+1

Вы должны закрепить регулярное выражение , т. е. '/^\ w + $ /'. Что касается необработанного значения, я не вижу, чтобы пробелы заменялись на '+' (хотя и не проверялись с вашим кодом). – nhahtdh

+0

О, верно! Спасибо, что работает. Что касается пробелов, замененных на +, если вы отправляете значение, включая пробелы, то форма ajax возвращает значение, закодированное в URI. В любом случае, теперь это не проблема, потому что я могу проверить это с помощью регулярного выражения, которое вы предложили. Итак, еще раз спасибо! Пожалуйста, разместите свой комментарий в поле ответа, чтобы я мог выбрать его как правильный ответ. –

ответ

2

Ваше текущее регулярное выражение /\w+/ только проверяет, существует ли один * символ слова в строке.

* \w+ соответствует одному или нескольким символам слов, но до тех пор, пока строка имеет один символ слова, можно найти совпадение, поэтому проверка прошла.

Вы должны закрепить регулярное выражение с ^ (начало строки) и $ (конец строки), чтобы убедиться, что вся строка состоит из символов слова:

/^\w+$/ 
+0

Еще раз спасибо! ;) –

Смежные вопросы