I am letting the user create their own profile on my site so they can choose what their url will be. So for example if their name is John Smith they might like to enter john-smith and then their profile URL would be www.mysite.com/john-smith.
I need to use preg_match to validate that what they enter is a valid URL slug. So here are the rules that it must fulfill to be valid:
it must contain at least one letter and it can only contain letters, numbers and hyphens
Can someone help me out please I am good at PHP but rubbish with regex!
I hope this code is self-explanatory:
<?php
function test_username($username){
if(preg_match('/^[a-z][-a-z0-9]*$/', $username)){
echo "$username matches!\n";
} else {
echo "$username does not match!\n";
}
}
test_username("user-n4me");
test_username("user+inv@lid")
But if not, the function test_username() test its argument against the pattern:
^
) ...[a-z]
) ...[-a-z0-9]*
) ...$
).If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With