我在我的网站上有一个注册表格,需要在创建帐户之前验证输入。我读到javascript验证可以很容易地禁用,所以我选择了php。
我在使用'和'连接不同的验证时遇到问题,不太确定出了什么问题。
if(!eregi("^[_a-z0-9-]+('.[_a-z0-9-]+)*@[a-z0-9-]+('.[a-z0-9-]+)*('.[a-z]{2,3})$", $email)){
// Return Error - Invalid Email
$msg = 'Please enter a valid email address.';
} and (!preg_match("/'S+/", $firstname)){
// Return Error - Firstname blank
$msg = 'Please enter your first name.';
} and (!preg_match("/'S+/", $lastname)){
// Return Error - Lastname blank
$msg = 'Please enter your last name.';
}(!preg_match("/.{6,}/", $password)){
// Return Error - password short
$msg = 'The password entered is too short. Please use 6 or more characters.';
}
else{ //submit form
是否有什么我从验证中遗漏了一个更有经验的编码员会使用?
我没有检查你的正则表达式,但这里是一个重新定义的版本的代码:
$msg ="";
if(!eregi("^[_a-z0-9-]+('.[_a-z0-9-]+)*@[a-z0-9-]+('.[a-z0-9-]+)*('.[a-z]{2,3})$", $email)){
// Return Error - Invalid Email
$msg = 'Please enter a valid email address.';
}else if(!preg_match("/'S+/", $firstname)){
// Return Error - Firstname blank
$msg = 'Please enter your first name.';
}else if(!preg_match("/'S+/", $lastname)){
// Return Error - Lastname blank
$msg = 'Please enter your last name.';
}else if((!preg_match("/.{6,}/", $password))){
// Return Error - password short
$msg = 'The password entered is too short. Please use 6 or more characters.';
}else if($msg == ""){
//Submit form
这是一种非常简单的方法,但是我建议下次学习一些验证注册表单技术的教程。
这里有一些很好的教程:
http://www.smashingmagazine.com/2009/07/07/web-form-validation-best-practices-and-tutorials/
视频第一部分:
http://www.youtube.com/watch?v=t8ehovDeMuU
视频第二部分:
http://www.youtube.com/watch?v=FlwlpRQo6II