在javascript中使用正则表达式验证表单



我想验证表单。我尝试使用regexp验证它。当我创建事件"click"并将其绑定到button元素时,我遇到了这个问题。当我点击按钮元素下的电子邮件输入显示一条消息请输入有效的电子邮件地址。当我点击第二次值更改为true,但最初的电子邮件输入值是true(因为我检查了它,在屏幕上你可以看到它)。

const form = document.querySelector('form')
const emailRegexp = /^[w.+-]+@gmail.com$/g;
const usernameRegexp = /^w+(?![b])w+$/g;
const fail = document.querySelectorAll('div.input_failed');
console.log(emailRegexp.test('fdjfvnjdknv@gmail.com'));
styleButton.addEventListener('click', function(event) {
const testEmail = emailRegexp.test(input[0].value);
if(testEmail) {
fail[0].style.display = 'none';
console.log(true);
}
else {
fail[0].style.display = 'block';
console.log(false);
}
});
main.js:49 true
main.js:59 false
main.js:55 true
main.js:59 false
main.js:55 true
main.js:59 false
main.js:55 true
main.js:59 false
main.js:55 true
main.js:59 false
main.js:55 true
main.js:59 false
main.js:55 true
main.js:59 false

我检查这两个字符串的类型,它们都是字符串。无论如何,问题没有解决。我不知道该怎么办。

仅用于@gmail.com的正则表达式

var emailRegexp = new RegExp(/^[w.+-]+@gmail.com$/,"g");

电子邮件验证的正则表达式

var emailRegexp = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a-zA-Z0-9-]+)*$/;

您也可以在这里测试正则表达式:https://regex101.com/

相关内容

  • 没有找到相关文章

最新更新