所以我一直在互联网上查找一些简单的javascript代码,这些代码可以让我在字段为空时发出警报,而当@不存在时则发出不同的警告。我一直在寻找正则表达式,HTML和不同的插件。但是我需要在纯Javascript代码中执行此操作。有什么想法可以用简单的方式完成吗?
并且,如果您认为这个问题不属于这里或者是愚蠢的,请指出我可以找到这些信息而不是侮辱我的地方。我几乎没有使用javascript的经验。
function test(email, name) {
}
答案 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");
}
答案 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...
希望这有帮助。