姓名,电子邮件验证
Name,Email Validation
我正在寻找验证 <Form onsubmit="return validate();">
上的姓名和电子邮件输入的代码
我希望用户名只有 A-Z
、a-z
并且 必须 有下划线 _
,电子邮件应该有 @
.我怎样才能用 jQuery 做到这一点?
表格(例子):
<html>
<head>
<title>TEST</title>
</head>
<body>
<form action="..." method="POST" onSubmit="return Check()" >
<input type="text" id="name" placeholder="Please enter your Name. (Must have underscore)" required>
<input type="text" id="email" placeholder="E-Mail">
<input type="submit" value="submit">
</form>
</body>
</html>
编辑 我试过了:
<script type="text/javascript">
jQuery(document).ready(function($){
$('[name="submit"]').click(function(e){
var name = document.getElementById("name").value;
if(re = /[a-zA-Z]*_[a-zA-Z]*/;) {
$(".name").addClass("error");
return false;
} else {
$(".name").removeClass("error");
$(".name").addClass("success");
return true;
}
});
});
谢谢!
对于有效的电子邮件地址:
Validate email address in JavaScript?
因为你的用户名是一样的,但你的正则表达式应该是这样的:
re = /^[a-zA-Z]*_[a-zA-Z]*$/; //this always needs an underscore to be valid.
以防万一,这是接受任何 az AZ 和 _ 的正则表达式,这取决于您的要求:
re = /^[a-zA-Z_]*$/;
re = /^[a-zA-Z_]{3,}$/; //3 or more chars
测试你的正则表达式:
re = /^[a-zA-Z_]*$/;
return re.test('any_string_to_test'); //it returns true if your string is valid
在 jquery 中使用正则表达式:
- 将字符串传递给 RegExp 或使用 // 语法调用创建正则表达式
- regex.test(字符串)不是 string.test(正则表达式)
在您的代码中:
$(".name").on('keyup', function(e)
{
var name = $(this).val();
if(new RegExp(/^[a-zA-Z_]+$/i).test(name)) // or with quotes -> new RegExp("^[a-zA-Z_]+$", 'i')
$(this).addClass("error");
else
$(this).switchClass("error", "success", 1000, "easeInOutQuad");
e.preventDefault();
e.stopPropagation(); // to avoid sending form when syntax is wrong
});
对于电子邮件输入,以下正则表达式可以完成这项工作:
/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i
或者..
要现代一点,可以用html5 email field type
<input type="email" id="email">
@Polak 我试过了,如果我明白你的意思的话:x 对不起,我是 javascript.
的新手
<script type="text/javascript">
jQuery(document).ready(function($){
$('[name="submit"]').click(function(e){
var name = document.getElementById("display_name").value;
re = /[a-zA-Z]*_[a-zA-Z]*/;
if (re.test(name) {
//Things to do when the entry is valid.
$(".NameCheck").removeClass("name_error");
$(".NameCheck").addClass("name_success");
return true;
} else {
//Things to do when the user name is not valid.
$(".NameCheck").addClass("name_error");
return false;
});
});
});
现在使用HTML5的高级功能更简单,您可以简单地按照以下方式进行验证:
<form action="" method="">
<!-- Name containing only letters or _ -->
Name: <input type="text" name="name" pattern="[a-zA-Z][[A-Za-z_]+" />
<!-- using type email, will validate the email format for you-->
Email: <input type="email" id="email" />
<input type="submit" value="Submit">
</form>
检查 HERE 以获得 HTML5 的更多表单验证功能。
我正在寻找验证 <Form onsubmit="return validate();">
我希望用户名只有 A-Z
、a-z
并且 必须 有下划线 _
,电子邮件应该有 @
.我怎样才能用 jQuery 做到这一点?
表格(例子):
<html>
<head>
<title>TEST</title>
</head>
<body>
<form action="..." method="POST" onSubmit="return Check()" >
<input type="text" id="name" placeholder="Please enter your Name. (Must have underscore)" required>
<input type="text" id="email" placeholder="E-Mail">
<input type="submit" value="submit">
</form>
</body>
</html>
编辑 我试过了:
<script type="text/javascript">
jQuery(document).ready(function($){
$('[name="submit"]').click(function(e){
var name = document.getElementById("name").value;
if(re = /[a-zA-Z]*_[a-zA-Z]*/;) {
$(".name").addClass("error");
return false;
} else {
$(".name").removeClass("error");
$(".name").addClass("success");
return true;
}
});
});
谢谢!
对于有效的电子邮件地址: Validate email address in JavaScript?
因为你的用户名是一样的,但你的正则表达式应该是这样的:
re = /^[a-zA-Z]*_[a-zA-Z]*$/; //this always needs an underscore to be valid.
以防万一,这是接受任何 az AZ 和 _ 的正则表达式,这取决于您的要求:
re = /^[a-zA-Z_]*$/;
re = /^[a-zA-Z_]{3,}$/; //3 or more chars
测试你的正则表达式:
re = /^[a-zA-Z_]*$/;
return re.test('any_string_to_test'); //it returns true if your string is valid
在 jquery 中使用正则表达式:
- 将字符串传递给 RegExp 或使用 // 语法调用创建正则表达式
- regex.test(字符串)不是 string.test(正则表达式)
在您的代码中:
$(".name").on('keyup', function(e)
{
var name = $(this).val();
if(new RegExp(/^[a-zA-Z_]+$/i).test(name)) // or with quotes -> new RegExp("^[a-zA-Z_]+$", 'i')
$(this).addClass("error");
else
$(this).switchClass("error", "success", 1000, "easeInOutQuad");
e.preventDefault();
e.stopPropagation(); // to avoid sending form when syntax is wrong
});
对于电子邮件输入,以下正则表达式可以完成这项工作:
/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i
或者..
要现代一点,可以用html5 email field type
<input type="email" id="email">
@Polak 我试过了,如果我明白你的意思的话:x 对不起,我是 javascript.
的新手<script type="text/javascript">
jQuery(document).ready(function($){
$('[name="submit"]').click(function(e){
var name = document.getElementById("display_name").value;
re = /[a-zA-Z]*_[a-zA-Z]*/;
if (re.test(name) {
//Things to do when the entry is valid.
$(".NameCheck").removeClass("name_error");
$(".NameCheck").addClass("name_success");
return true;
} else {
//Things to do when the user name is not valid.
$(".NameCheck").addClass("name_error");
return false;
});
});
});
现在使用HTML5的高级功能更简单,您可以简单地按照以下方式进行验证:
<form action="" method="">
<!-- Name containing only letters or _ -->
Name: <input type="text" name="name" pattern="[a-zA-Z][[A-Za-z_]+" />
<!-- using type email, will validate the email format for you-->
Email: <input type="email" id="email" />
<input type="submit" value="Submit">
</form>
检查 HERE 以获得 HTML5 的更多表单验证功能。