如何将正则表达式测试添加到javascript表单验证中?

如何将正则表达式测试添加到javascript表单验证中?,javascript,forms,validation,Javascript,Forms,Validation,我已经使用javascript创建了一个简单的表单验证,我想在输入中添加一些模式测试,以确保提交的信息是正确的,但我对此非常陌生,我想看看是否有人可以帮助我添加模式测试 到目前为止,我的验证代码是: function validate(form) { var fail = false; var name = document.getElementById("full_name"); if (name.value.length == 0) { document.getElementById(

我已经使用javascript创建了一个简单的表单验证,我想在输入中添加一些模式测试,以确保提交的信息是正确的,但我对此非常陌生,我想看看是否有人可以帮助我添加模式测试

到目前为止,我的验证代码是:

function validate(form) {
var fail = false;
var name = document.getElementById("full_name");

if (name.value.length == 0) {
  document.getElementById("okName").className = "fail";
  fail = true;
}else{
  document.getElementById("okName").className = "success";
}



var email = document.getElementById("email");
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;

if (email.value.length == 0) {
  document.getElementById("okEmail").className = "fail";
    fail = true;
}else{
  document.getElementById("okEmail").className = "success";
}
}

我认为我必须在电子邮件验证的“if”语句中添加条件,但不知道从何开始?我知道我将如何使用jQuery:

if( value.length<1 /*|| value==field_values[$(this).attr('id')]*/ || ( $(this).attr('id')=='email' && !emailPattern.test(value) )  )
if(value.length这看起来像:

var email = document.getElementById("email");
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;

if (!emailPattern.test(email.value)) {
  document.getElementById("okEmail").className = "fail";
    fail = true;
}else{
  document.getElementById("okEmail").className = "success";
}
也不需要检查字符串的长度。不需要为这样一个简单的taks查询您的网页。:-)

一些建议:

  • 永远不要只依赖客户端验证
  • 验证控制是否实际存在(即,如果(电子邮件){…})
  • 修剪字符串或为名称提供模式(表单在表单字段中输入单个空格字符进行验证)
  • 此外,您的电子邮件模式实际上并不正确(点在[]中也是“任意字符”)

有没有理由不使用现有库为u执行此操作?
!emailPattern.test(email.value)
var email = document.getElementById("email");
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;

if (!emailPattern.test(email.value)) {
  document.getElementById("okEmail").className = "fail";
    fail = true;
}else{
  document.getElementById("okEmail").className = "success";
}