i want to check if string has other than spaces,underscore,digit and character.
i have created the following code.But this is not working when i add any other special character or hyphen.
For example take this string.Now this is not valid.when i remove #%#% from string valid.
$string = 'a1uper___ w__#%#%';
if(preg_match('/[a-zA-Z_]/',$string)){
echo 'valid';
}
else{
echo 'not valid';
}
I have tried the following pattern also:
'/[a-zA-Z_]/'
'/^[a-zA-Z_]/'
'/[a-z][A-Z][_]/',...
please help
You need to do it like below:-
<?php
$string = 'a1uper___ w__ ';
if(preg_match('/^[a-zA-Z_\/\s\d]+$/i',$string)){
echo 'valid';
}
else{
echo 'not valid';
}
Output:- https://eval.in/806911
Note:-
a-zA-Z is for characters
_ for underscores
/s for spaces
d for digits
Now '/^[a-zA-Z_\/\s\d]+$/i'
will check that string doesn't contain anything apart from the above mentioned.
If string have above mentioned things only then valid
otherwise invalid
.
That's why:-
a1uper___ w__
is valid (only characters and underscores are there)
a1uper___ w__#%#%
is invalid (because of having unmatched characters #%#%
)
Reference:-
Try the below one:
$string = 'a1uper___ w__#%#%';
if(preg_match('/[\'"^!@#$%&*()£+}{~?><>,|=¬\\-]/',$string)){
echo 'not valid';
}
else{
echo 'valid string';
}