Следует избегать наиболее частого использования регулярных выражений для проверки входных данных, которые потребляют много ресурсов ЦП. Начиная с PHP 5.2, существует filter_var для электронной почты, URL, ip, string, int, float, sanitize и validate.
// Remove wrong characters
$myURL = filter_var(FILTER_SANITIZE_URL);
// Notice the ===
// If we were checking integer input and imagine zero was a valid input
// do !filter_var($myNumber , FILTER_VALIDATE_INT) will display "Invalid Number"
if (filter_var($myURL , FILTER_VALIDATE_URL) === FALSE)
echo "Invalid URL"
else
echo "Valid URL"
Если у вас много входных данных, вы можете использовать filter_input_array .