Javascript 名称、电子邮件验证
我正在寻找验证Javascript 名称、电子邮件验证,javascript,jquery,regex,validation,html-validation,Javascript,Jquery,Regex,Validation,Html Validation,我正在寻找验证 我希望用户名只有A-Z,A-Z,并且必须有下划线。,电子邮件应该有@。我如何使用jQuery实现它 表格(示例): <html> <head> <title>TEST</title> </head> <body> <form action="..." method="POST" onSubmit="return Check()" > <input type="text" id="name"
我希望用户名只有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;
}
});
});
jQuery(文档).ready(函数($){
$('[name=“submit”]')。单击(函数(e){
var name=document.getElementById(“name”).value;
if(re=/[a-zA-Z]*.[a-zA-Z]*/;){
$(“.name”).addClass(“错误”);
返回false;
}否则{
$(“.name”).removeClass(“错误”);
$(“.name”).addClass(“成功”);
返回true;
}
});
});
谢谢 对于有效的电子邮件地址:
您的用户名相同,但您的正则表达式应如下所示:
re = /^[a-zA-Z]*_[a-zA-Z]*$/; //this always needs an underscore to be valid.
以防万一,这是一个接受任何东西的正则表达式,它取决于您的要求:
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
- regex.test(字符串)不是string.test(regex)
$(".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
或..
为了体现一点现代感,你可以使用
@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;
});
});
});
jQuery(文档).ready(函数($){
$('[name=“submit”]')。单击(函数(e){
var name=document.getElementById(“显示名称”).value;
re=/[a-zA-Z]*.[a-zA-Z]*/;
如果(重新测试)(名称){
//条目有效时要执行的操作。
$(“.NameCheck”).removeClass(“name_错误”);
$(“.NameCheck”).addClass(“name_success”);
返回true;
}否则{
//用户名无效时要执行的操作。
$(“.NameCheck”).addClass(“名称错误”);
返回false;
});
});
});
现在使用HTML5的高级功能,您只需按照以下步骤进行验证即可:
姓名:
电邮:
查看HTML5的更多表单验证功能。您是否真的查找过任何东西或自己尝试过任何东西?看起来是的,但找不到正确的代码和平,只勾选a-Z和下划线。了解regex:在您的代码中:if(re=/[a-zA-Z]*.[a-zA-Z]*/;){…}应替换为:re=/[a-zA-Z]*.[a-zA-Z]*/;如果(re.test('string_to_validate'){..当字符串有效时运行的代码..谢谢,你能告诉我,我应该把它放在哪里吗?如果(…)?是的,如果(re.test(ANY_string))谢谢。尝试理解。感谢帮助此示例正在运行:我已经修改了regex.Fixed代码,有一些完善之处:)首先,你可以测试语法有效性,而不必担心(或之前)提交formI'm new with stackoverflow,我编辑了您的答案,将if(re.test(“name”){……更改为if(re.test(name)){……不带引号,if语句被颠倒。当您定义字符串变量foo=/…/;如正则表达式时,您可以执行foo.test('string to test')之类的操作;当正则表达式接受字符串时,它将返回true。现在我可以更好地理解,谢谢。但是我得到了未捕获的语法错误:意外的标记{错误。但是感谢帮助!我想您忘记了从if(re.test(name){编辑到if(re.test(name)){。现在它开始工作了。非常感谢你的帮助!我做了一些新的更改,但两者都应该对你有用。我测试了它,效果很好。我试过了,但似乎对我不起作用:x it skip是名称输入,而不是验证和检查,但是谢谢!
<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;
});
});
});