我有一个带有输入框和按钮的 HTML 表单。我在其上绑定(bind)了一个提交事件,但是当我尝试将输入框的值与正则表达式 (/\w+/)
匹配时,我得到不一致的结果:
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+/
仅检查字符串中是否存在一个*单词字符。
* \w+
匹配一个或多个单词字符,但只要字符串中有一个单词字符,就能找到匹配项,从而验证通过。
您需要使用 ^
(字符串开头)和 $
(字符串结尾)锚定正则表达式,以确保整个字符串由单词字符组成:
/^\w+$/
关于javascript - 如何获取 JQuery 提交函数中输入标记的原始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21128878/