在javascript中,匹配项无法正常运行

时间:2019-11-29 19:28:16

标签: javascript

我正在处理一个表单,我必须要求用户提供以.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";
}

2 个答案:

答案 0 :(得分:1)

变量input1不是字符串,而是您创建的输入元素。像这样对input1的值调用match函数:

// ...
var inputValue = document.getElementById('input1').value;
var validate = inputValue.match(/\S+@\S+\.ca/);
// ...

答案 1 :(得分: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";
}
//