这是我的 jQuery 脚本的一部分。我需要让系统验证特定域的电子邮件。
像example@schooldomain.com
并且只允许来自@schooldomain.com 的电子邮件
代码:
email: function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);}
Run Code Online (Sandbox Code Playgroud) 可能重复:
在Javascript中验证电子邮件地址?
这是我的第一篇文章,我有一个小问题.我正在尝试验证表单上的电子邮件地址,但没有运气.我在互联网上找到了这个片段,但它似乎没有用.我现在正在使用Javascript来验证它.我通常不使用JS,所以任何帮助将不胜感激.
<script type="text/javascript">
function ValidateEmail(inputText)
{
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(inputText.value.match(mailformat))
{
document.forms.emailform();
return true;
}
else
{
alert("You have entered an invalid email address!");
document.forms.emailform();
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
<?php
$addemail .= '
<form method="post" action="cart2.php" name="emailform" onsubmit="return validateEmail">
';
$addemail .= '
E-mail Address: <input type="text" name="email" value="'.$row6['email'].'" size="19" /><input type="hidden" name="cartid" value="'.$cart.'" />';
if ( $emailerror != '' )
{
$addemail .= '<img src="images/email_error.png" width="16" height="16" hspace="4" alt="E-mail Error" />';
}
$addemail .= '
<input …
Run Code Online (Sandbox Code Playgroud) 如果颜色是数字,那么我们可以使用正则表达式来检查颜色是否是有效的css颜色.但言语怎么样?
我有一个动态生成控件并获取颜色的代码.但不是颜色,可能有"空",""或随机的单词.有没有办法用javascript检查颜色名称?
更新:非常感谢您的回答!:)我的最终版本是(添加到较低的检查,因为可能有"绿色","红色"等):
function isValidColor(strColor) {
var s = new Option().style;
s.color = strColor;
// return 'false' if color wasn't assigned
return s.color == strColor.toLowerCase();
}
Run Code Online (Sandbox Code Playgroud) 问候所有我想用 javaScript 验证电子邮件,我需要使用最佳模式进行匹配 请建议我一个好的模式
这是我在SO的第一篇文章.我先搜索,但没有找到答案(如果我错过了,请原谅我......这是一个漫长的夜晚:D).所以这是我的第一个问题:
我刚看了一篇文章说:
互联网域名地址开辟了新的后缀
互联网命名委员会批准可能通过.hotel,.bank或.sport拍卖大量扩展已批准的域名扩展.
该死的!我只是围绕JavaScript RegExp对象(... sorta.我仍然是JS"Greenhorn")
在.com首次向全世界揭幕之后的二十六年,官员们已经扫除了严格的网站命名法规,开辟了个性化网页地址后缀的整个世界.
但是......我刚学会了如何通过检查(以及其他变量)点后面使用的字符数(即.com,.fr等)来验证电子邮件地址.现在怎么办?
分析师表示,他们预计会有500到1,000个域名后缀,主要是寻求在网址上标记商标的公司和产品,还有城市和通用名称,如.bank或.hotel.
哦Snap!?!吓唬菜鸟的方法.也许这不是一个问题,我只是想知道它(特别是因为我没有看到这个问题发布).但是,我们如何验证电子邮件地址?这个计划是什么?
请提供必要的"照明":D
TIA,SLEEPER
使用RegEx和Javascript电子邮件字段验证禁止免费电子邮件服务电子邮件(例如Gmail,Yahoo,Hotmail)的最佳方法是什么?
^.*@(?!(aol\.com$|yahoo\.com$|hotmail\.com$))$
Run Code Online (Sandbox Code Playgroud)
我在这里看到了通用的"在Javascript中验证电子邮件地址"解决方案在JavaScript中验证电子邮件地址?但无法弄清楚如何让它不允许Gmail,雅虎和Hotmail.
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)\b
Run Code Online (Sandbox Code Playgroud) 我对Jquery很新,所以这可能是一个简单的问题,但是有一种方法可以隐藏表单上的提交按钮,直到所有字段都经过验证.
验证需要是"当您键入"解决方案.基本上我有3个字段 - 名字,姓氏和电子邮件.我希望提交按钮保持隐藏状态,直到填写了两个"名称"字段并在电子邮件字段中输入了有效的电子邮件地址.
表单本身使用AJAX将表单数据输入到数据库中.表单位于灯箱中,单击提交按钮后应自动关闭.
您可以在此处查看示例:http://testing.xenongroupadmin.com/whatis/pfi
忽略"关闭此窗口"链接 - 这只是为了方便起见,将在最终版本中删除.
下面是表单的HTML代码,后面是JQuery/AJAX提交代码:
<form id="registerform" action="thanks.php" method="POST">
<ul id="inputform">
<li>
<label for="firstname" id="firstnamelabel">First Name</label>
<input type="text" name="first_name" id="fname" class="registerboxes" />
</li>
<li>
<label for="lastname" id="lastnamelabel">Last Name</label>
<input type="text" name="last_name" id="lname" class="registerboxes" />
</li>
<li>
<label for="email" id="emaillabel">E-mail Address</label>
<input type="text" name="emailbox" id="email" class="registerboxes" />
</li>
</ul>
<input type="submit" value="Submit" id="emailbutton" />
</form>
Run Code Online (Sandbox Code Playgroud)
和Jquery:
$(document).ready(function(){
$("form#registerform").submit(function() {
var fname = $('#fname').attr('value');
var lname = $('#lname').attr('value');
var email = $('#email').attr('value');
$.ajax({
type: …
Run Code Online (Sandbox Code Playgroud) 我想弄清楚用户是否输入了电子邮件ID或电话号码.因此,我想检查字符串是否以+1或数字开头,以确定它是否是电话号码.如果不是我得出结论它是一封电子邮件,或者我可以检查它是否以字母表开头确定.我该如何检查.如果那是soln,我对正则表达式很恐怖.
我已经配置了一个Grunt文件,用我所有的库和我的代码构建一个JS文件,所以我只有一个JS文件包含在我的网站中.这一切都运行正常,但我刚刚添加了JQuery Validate插件(http://jqueryvalidation.org/),这个插件工作但不完全,我认为它是我的代码以及我如何构建它的红色.
但我有多种形式,其中一种是更改用户电子邮件.我还应该在这里说我正在使用CakePHP和它的表单助手构建这个站点(尽管该站点的那一侧完全正常工作而没有任何错误).
这是我正在使用的代码:
$( "#EmailChange" ).validate({
rules: {
'data[Email][currentemail]':{
required: true,
email: true
},
'data[Email][newemail]':{
required: true,
email: true
},
'data[Email][emailconfirm]': {
equalTo: "#NewEmail", <-id for the [email][newemail] input
required: true,
email: true
}
},
messages: {
'data[EmailUpdate][currentemail]': "email address is needed",
'data[EmailUpdate][newemail]': "a vaild email address is needed",
'data[EmailUpdate][emailconfirm]': "second email does not match",
}
});
Run Code Online (Sandbox Code Playgroud)
现在这种方式有效,但不能正确验证我的电子邮件地址,我会输入,someemail@something
这会在输入域名后缀之前删除或返回有效的电子邮件.当我在自己的网站上使用电子邮件上的测试字段时,它不会这样做,它只会在用户输入后缀后返回有效状态.
那么我做错了什么?
谢谢.
有这个HTML(jsfiddle):
<form>
<input name="email" type="email" placeholder="Email" required />
<input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)
为什么hello@world
没有被标记为无效的电子邮件地址?
尝试使用pattern="/^\w+(?:\.\w+)*@\w+(?:\.\w+)+$/"
但运气不多.
javascript ×9
jquery ×4
regex ×3
html ×2
ajax ×1
colors ×1
css ×1
html5 ×1
string ×1
validation ×1