我已经尝试过很多东西,但我似乎无法让它发挥作用 问题是,即使我尝试有效的电子邮件地址(例如ok@gmail.com)
,我输入的内容也被认为是假的这是我的代码
SELECT BinType FROM NF_WhatWasteWhere WHERE ID=" + ItemType1.DataValueField

function validateEmail(email) {
var re = /[^\s@]+@[^\s@]+\.[^\s@]+/;
return re.test(email);
}
var email = $('input[name = pEmail]').val();
$('#nPopupSubmit').click(function () {
if (!validateEmail(email)) {
$('label[id = pEmailError]').show();
$('input[name = pEmail]').focus();
return false;
} else {
whatever
});

你们中的任何人都知道发生了什么事吗? 谢谢!
答案 0 :(得分:2)
你的函数不包含错误,也许你的jQuery?您应该在点击后定义email
变量,否则email
的值始终为= "Email"
(默认值)
$('#nPopupSubmit').click(function () {
var email = $('#pEmail').val(); //<-- This is where you should put this
if (!validateEmail(email)) {
$('#pEmailError').show();
$('#pEmail').focus();
return false;
} else {
//whatever
}
});
此外,您可以使用已经提供元素的id
来简化代码:)
function validateEmail(email) {
var re = /[^\s@]+@[^\s@]+\.[^\s@]+/;
return re.test(email);
}
$('#nPopupSubmit').click(function () {
var email = $('#pEmail').val();
if (validateEmail(email) !== true) {
$('#pEmailError').show();
$('#pEmail').focus();
return false;
} else {
//whatever
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="popup1" method="post">
<fieldset>
<input id="pEmail" type="text" placeholder="E-mail" value="E-mail" onclick="this.value=''" class="popup_input" name="pEmail" type="text" />
<label id="pEmailError" style="color:#FF0000; display:none;">Error</label>
<button type="submit" id="nPopupSubmit" name="nPopupSubmit">Go !</button>
</fieldset>
</form>
&#13;
答案 1 :(得分:1)
您当前的正则表达式无法验证您的需求。
你可以试试这个:
$primary-color: #XXXXXX;
$error-color: #YYYYYY;
// Body content
.body-content {
background-color: $primary-color;
margin: 10px;
padding: 10px;
}
.body-content--error {
background-color: $error-color;
}
//Button (primary)
.btn-primary {
background-color: $primary-color;
}
.btn-primary--error {
background-color: $error-color;
}
// Links in the .content list
.content-list-link {
color: $primary-color;
border-color: $primary-color;
&:hover {
background-color: $primary-color;
}
}
.content-list-link--error {
color: $error-color;
border-color: $error-color;
&:hover {
background-color: $error-color;
}
}
function validateEmail(email) {
var re = new RegExp("^[^\\s@]+@[^\\s@]+?\\.[^\\s@]+$", "m");
console.log(email.match(re));
if(email.match(re))
{
return true;
}
else
{
return false;
}
}
window.alert(validateEmail("a@b.c"));
window.alert(validateEmail("a @b.c"));
希望有所帮助。如果您对细节有任何疑问,请告诉我......