我正在尝试让用户注册所需的电子邮件。但是我不希望他们输入'@domain.com'
,我只是想让他们输入用户名,('@'
左边的所有内容)。另外,我如何确保左侧唯一的字符是小写字母,数字和下划线?基本上如果他们输入大写字母,它应该降低它。我确实知道strtolower
,但我不太清楚如何在我的脚本中实现它。我只希望我的脚本能够验证一个域,在本例中为'domain.com'
我的脚本需要填充这些字段
$email = ($_POST['email']);
并检查它是否有效
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
echo "You have entered an invalid email. Press back and try again.";
$db = null;
exit();
}
所以我知道我需要对$email
变量做些什么。对不起,我有点新的PHP
答案 0 :(得分:0)
请参阅以下内容:
strtolower:http://php.net/manual/en/function.strtolower.php
strpos:http://php.net/manual/en/function.strpos.php
$email=strtolower($email);
if(strpos($email,'@')){
//Fail
}
然后只需按照指定的方法验证filter_var。
答案 1 :(得分:0)
你做错了,因为' @'左边有一系列字符。哪些在电子邮件地址中有效,但这是你想要的:
$stub = strtolower($_POST['email']);
$email = $stub . "@domain.com";
if ((preg_match("/[^a-z0-9_]/", $stub)) ||
(filter_var($email, FILTER_VALIDATE_EMAIL) === false) ) {
echo "Invalid email....";
die;
}
答案 2 :(得分:-1)
$email = strtolower('dsfds_09azZdsf');
if (strlen($email) == strlen(preg_replace('#[^a-z_0-9]#i', '', $email)))
{
echo 'valid';
}
else
{
echo 'not valid';
}