jquery - 当输入为空或使用 jquery 的电子邮件格式无效时显示红色边框
问题描述
我有一个电子邮件输入,如果该字段为空并且用户在输入内部单击,然后外部显示红色边框和错误消息,我想要,直到用户在输入中输入任何内容。我已经使用 jQuery 完成了这项工作,它可以 100% 工作。这是 sign_in.php 中的代码:
<form action="sign_in.php" method="post" id="sign_in_form">
<div class="form-group">
<label for="email" style="font-weight: bold; cursor: text;"><span style="color:red;">* </span>Email Address</label>
<input type="email" name="email_3" id="email_3" class="form-control form-control-lg validate"
value="<?php if(isset($_POST['email_3'])){ echo $_POST['email_3'];}?>" style="width:455px; background-color:#EEEEEE;">
<div class="error_2" style="font-size: 14.5px;">Please enter a valid email address.</div>
</div>
</form>
<script>
$(document).on('blur','.validate',function(){
if(!$.trim($(this).val())){
$(this).closest('.form-group').find('.error_2').show()
$(this).addClass('error_show')
$(this).addClass('error_show_2')
}
}).on('focus','.validate',function(){
$(this).closest('.form-group').find('.error_2').hide()
$(this).removeClass('error_show')
$(this).removeClass('error_show_2')
})
</script>
这是 main.css 的代码:
.validate:hover,
.validate:focus{
border: 3px solid #EEA730;
}
.error_show_2{
border:1px solid red !important;
}
.error_show:hover{
box-shadow: 0 0 0 3px #EEA730 !important;
border:1px solid red !important;
}
现在我还需要补充一点,如果电子邮件以无效格式写入,则显示红色边框并显示消息,因此我将其添加到我的代码中:
<script>
$(document).on('blur','.validate',function(){
if(!$.trim($(this).val()) || /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/){
$(this).closest('.form-group').find('.error_2').show()
$(this).addClass('error_show')
$(this).addClass('error_show_2')
}
}).on('focus','.validate',function(){
$(this).closest('.form-group').find('.error_2').hide()
$(this).removeClass('error_show')
$(this).removeClass('error_show_2')
})
</script>
我的意思是,如果输入为空或用户输入了无效的电子邮件格式,则显示红色边框并显示消息,但它不起作用。这个怎么做?
解决方案
推荐阅读
- android - 在 Android 10(及更高版本)上,如何以编程方式检测哪个应用程序在外部/辅助屏幕的前台运行?
- javascript - 如何为购物车制作数量变化功能?
- python - 如何从 PYCHARM 中找到正确的 python 解释器并在 cmd 中使用相同的解释器?
- javascript - for循环中的随机延迟setTimeout
- autodesk-forge - 有没有办法在查看器中使用 BoxSelection 扩展启用部分选择
- java - 您可以垂直打印生成的随机数(10 个整数)一维数组吗?
- python - Pytest 测试套件在 GitHub Actions 上随机出现错误,无需更改
- python - 从 csv 文件动态创建数据框
- javascript - 如何根据两个过滤器过滤对象数组?
- java - 在 Java 中使用字符串创建一个简单的计算器