I am using preg_match for restrict the special characters in form post. Now I need to restrict some special characters only like %,$,#,*
and I need to post like bé
. How to possible to restrict some special characters only.
My code:
<?php
$firstname='';
if(isset($_POST['submit']))
{
$firstname=$_POST['firstname'];
if(preg_match("/[^a-zA-Z0-9]+/", $firstname))
{
echo 'Invalid Name';
}
else
{
echo $firstname;
}
}
?>
<html>
<body>
<form method="post">
<input type="text" name="firstname"/>
<input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>
You should use:
([%\$#\*]+)
to match those characters.
So in preg_match
you should use:
if(preg_match("/([%\$#\*]+)/", $firstname))
{
echo 'Invalid Name';
}
else
{
echo $firstname;
}