У меня есть 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
...
}
}
Вы должны закрепить регулярное выражение , т. е. '/^\ w + $ /'. Что касается необработанного значения, я не вижу, чтобы пробелы заменялись на '+' (хотя и не проверялись с вашим кодом). – nhahtdh
О, верно! Спасибо, что работает. Что касается пробелов, замененных на +, если вы отправляете значение, включая пробелы, то форма ajax возвращает значение, закодированное в URI. В любом случае, теперь это не проблема, потому что я могу проверить это с помощью регулярного выражения, которое вы предложили. Итак, еще раз спасибо! Пожалуйста, разместите свой комментарий в поле ответа, чтобы я мог выбрать его как правильный ответ. –