в данном случае без разницы. разве что у вас такие проверки настолько часто выполняются, что это сказывается на производительности.
с if'ами несколько нагляднее, но в некоторых ситуациях без регулярных выражений будет тяжко.
вот например, я использую функцию для проверки — является ли строка валидным e-mail'ом:
return /^[0-9a-z_\.]+@[0-9a-z_\^\.]+\.[a-z]{2,6}$/i.test(s);
if'ами вышло бы ой как тяжко)