Javascript:字段验证

时间:2014-01-03 10:06:11

标签: javascript validation email field

所以我一直在互联网上查找一些简单的javascript代码,这些代码可以让我在字段为空时发出警报,而当@不存在时则发出不同的警告。我一直在寻找正则表达式,HTML和不同的插件。但是我需要在纯Javascript代码中执行此操作。有什么想法可以用简单的方式完成吗?

并且,如果您认为这个问题不属于这里或者是愚蠢的,请指出我可以找到这些信息而不是侮辱我的地方。我几乎没有使用javascript的经验。

function test(email, name) {


}

5 个答案:

答案 0 :(得分:1)

如果您要验证电子邮件,请在给定的正则表达式中使用以下代码:

<input type="text" name="email" id="emailId" value="" >
<button onclick = "return ValidateEmail(document.getElementById('emailId').value)">Validate</button>
<script>
     function ValidateEmail(inputText){  
           var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;  
       if(inputText.match(mailformat)) {  
         return true;  
       }  
       else {  
           alert("You have entered an invalid email address!");  
           return false;  
       }  
    } 
</script>

或者,如果要检查空白字段,请使用以下命令:

if(trim(document.getElementById('emailId').value)== ""){
   alert("Field is empty")
}  
// For @ 
var textVal = document.getElementById('emailId').value
if(textVal.indexOf("@") == -1){
  alert(" @ doesn't exist in input value");
}

这是小提琴:http://jsfiddle.net/TgNC5/

答案 1 :(得分:0)

您必须找到要检查的元素对象(文本框等)。

<input type="text" name="email" id="email" />

在JS中:

if(document.getElementById("email").value == "") { // test if it is empty
    alert("E-mail empty");
}

这是非常基本的。使用regexp,您可以测试,如果它是真正的电子邮件,或一些垃圾。我建议阅读有关JS和HTML的内容。

答案 2 :(得分:0)

function test_email(field_id, field_size) {
var field_value = $('#'+field_id+'').val();
error = false;
var pattern=/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if(!pattern.test(field_value)){
    error = true;
    $('#'+field_id+'').attr('class','error_email');
}
return error;

}

答案 3 :(得分:0)

这将检查空字符串以及@符号:

    if(a=="")
        alert("a is empty");
    else if(a.indexOf("@")<0)
        alert("a does not contain @");

答案 4 :(得分:0)

您可以这样做:

var input = document.getElementById('email');

input.onblur = function() {
  var value = input.value

  if (value == "") {
    alert("empty");
  }

  if (value.indexOf("@") == -1) {
     alert("No @ symbol");
  }

}

请参阅fiddle

虽然这不是检查电子邮件地址的可靠解决方案,但请参阅以下参考资料以获取更详细的解决方案:

http://www.regular-expressions.info/email.html

http://www.codeproject.com/Tips/492632/Email-Validation-in-JavaScript

----更新----

我已经意识到没有IE可用于目标,因此输入字段需要像这样定位:

document.getElementsByTagName("input")

使用此代码将选择页面上显示的所有输入字段。这不是我们想要的,我们想要针对特定​​的输入字段。没有类或ID的唯一方法是通过键选择它,如下所示:

document.getElementsByTagName("input")[0]

如果没有看到所有HTML,我就无法知道正确使用的密钥,因此您需要计算页面上输入字段的数量以及输入字段所在的位置。

1st input filed  = document.getElementsByTagName("input")[0]
2nd input filed  = document.getElementsByTagName("input")[1]
3rd input filed  = document.getElementsByTagName("input")[2]
4th input filed  = document.getElementsByTagName("input")[3]
etc...

希望这有帮助。