точку забыл разрешить в логине.
<?php $string = 'visavi.net@mail.ru'; preg_match("/^([\w\-\.]{1,30})\@([\w\-]{1,15})\.([a-z]{2,3})?$/",$string,$out); echo $out[0]; ?>