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