How can I verify an email address in PHP? [duplicate] - php

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Is there a PHP library for email address validation?
How can I verify an email address in PHP?

If you want to check if an email address exists, check out checkdnsrr:
if (checkdnsrr('you#user.com', 'MX')) {
echo ':)';
}
else {
echo ':(';
}
If you want to check if a string is an email address, there are literally millions of regulars expressions out there. There's a native function in php, filter_input that does it, thought I've personally never used it.

filter_var($input, FILTER_VALIDATE_EMAIL)

function isemail($email) {
return strlen($email) > 6 && preg_match("/^[\w\-\.]+#[\w\-\.]+(\.\w+)+$/", $email);
}

Related

How do I make a username input only accept numbers and letters in php? [duplicate]

This question already has answers here:
Allow only [a-z][A-Z][0-9] in string using PHP
(7 answers)
Closed 2 years ago.
So users have been creating accounts and some includes %20, how do I get the input to only accept a-z, A-Z, and 0-9?
if ($username === null){$registrable = false; array_push($error,'Not a valid Username.');}
Can it be similar to the code above?
Are you using a normal text input? If so you can try using pattern="[a-zA-Z0-9-]+" on the input.
If the pattern is not correct when submitting the form, users will get a message asking them to use the propper pattern.
use in php ctype_alnum
if (ctype_alnum($username)) {
echo "username is aplphanumeric!\n";
} else {
echo "The usename $username is not valid\n";
}

How Can I hide part of my E-mail Address [duplicate]

This question already has answers here:
Partially hide email address in PHP
(19 answers)
Closed 5 years ago.
Good Morning Guys! I need to get an e-mail from my database, but I'd like to show it like that:
some*******#hotmail.com
I'd like to show the beginning of my e-mail and then everything after #.
I'm using the following code:
$user_email= "********".substr($linha3['user_email'], -8);
It's working, but sometimes It doesn't appear in a nice way:
********mail.com
May you help me with any solution?
Use RegEx to always match the e-mail username :
echo preg_replace('/.*#/', '***#', 'some_mail#somewhere.net');
$email = $linha3['user_email'];
$email= substr($email, 0, 3).'****'.substr($email, strpos($email, "#"));

preg_match email validation. (Adding hyphen to domain spot) [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
PHP email validation
I'm working on this website, where I have to make a register form. I made it work, but then my friend told me, that some email domain names does have hyphens in them, like;
test#test-tester.com
Right now my code look like this:
preg_match("/^[a-zA-Z0-9._\-]\w+(\.\w+)*\#\w+(\.[a-zA-Z0-9._-]+)*\.[a-zA-Z.]{2,6}$/", $_POST["email"]
What I can see, this should work, but it still does not allow the hyphen.
Anyone know why?
Regex is always useful, but I prefer to use filter_var to validate emails
http://www.php.net/manual/en/filter.filters.validate.php
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
print('valid Email!');
}
else
{
print('invalid-email =(');
}

PHP built in function to determine if email is valid [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
How to validate an Email in PHP?
Does PHP have a built in function for determining if an email address is formatted properly. I know it can't go out and check if the email is actually active; I'm talking about just confirming that an email address is structurally correct.
filter_var can do this:
$result = filter_var( 'bob#example.com', FILTER_VALIDATE_EMAIL );
It returns false when it failed validation, and returns the e-mail address otherwise.

Php script that test e-mail address [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Is there a php library for email address validation?
How I can write php script that test e-mail address is input correctly and verify that the input begins with a series of character followed by the # character, another series of character and a final series of characters.
The filter_var() function, using the FILTER_VALIDATE_EMAIL filter, should do exactly what you want -- no need to re-invent the wheel ;-)
Use the PHP function filter_var() with the FILTER_VALIDATE_EMAIL flag to validate the email address:
$emailValid = filter_var($email, FILTER_VALIDATE_EMAIL);
if($emailValid) {
echo "Email is valid";
} else {
echo "Email is INVALID";
}
I mostly use filter_var for this, but a fellow github'r notified me that this function is flawed.
He recommended to use the rather more complex validator at http://www.dominicsayers.com/isemail/.
Good luck!
if(preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*#[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",$email){
$inputcorrectly = true; // Or whatever
}

Categories