1 is_numeric() положительные и отрицательные
2 preg_match('|^[a-z0-9]+$|'.$string) Буквы и цифры
preg_match('|^[a-z0-9]+$|i'.$string) тоже но без учета регистра.
preg_match('|^[a-z0-9]+$|iu'.$string) тоже но без учета регистра и с учетом кодировки утф-8 (необходимо если еще и русские буквы а-я будешь пропускать)
3 preg_match('|^[a-z0-9\_]+$|'.$string) \- ставится перед спецсимволами что бы регулярка понимала их как знаки а не спецсимволы (-_.*/\* и так далее).
Вроде понятно и ни где не ошибся, сам не очень еще шарю в них