-1

我正在处理一个表单,我必须向用户询问必须以 .ca 结尾的电子邮件,而 .match 给了我一个错误(input1.match 不是 newForm 的函数)。基本上我要做的是如果地址不以 .ca 结尾并且我的正则表达式应该是正确的,则使输入框边框变为红色。这是我的电子邮件输入框代码:

var input1 = document.createElement('input');
input1.setAttribute("Id", "input1");
nform.appendChild(input1);
document.getElementById('input1').value;
var validate = input1.match(/\S+@\S+\.ca/);
if (!validate){
    input.style.borderColor = "Red";
}
4

2 回答 2

1

该变量input1不是字符串,而是您创建的输入元素。在值上调用 match 函数,input1如下所示:

// ...
var inputValue = document.getElementById('input1').value;
var validate = inputValue.match(/\S+@\S+\.ca/);
// ...
于 2019-11-29T19:35:18.967 回答
0

您可能可以使用正则表达式对此进行测试,请找到以下代码片段:

// 
var input1 = document.getElementById('input1');
var regex = new RegExp('^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.ca$');
var validate = regex.test(input1.value);
if (!validate){
  input1.style.borderColor = "Red";
}
//
于 2019-11-29T19:51:04.590 回答