icq
#[0-9]{6,12}#i
aim
#[a-z]{1}[[:alnum:]]{2,15}#i
yahoo
#[[:alnum:]]{1,32}#i
msn
#(?:[-.]?[0-9_a-z])(?:[-.]?[0-9_a-z])*@(?:msn|hotmail)\\.[a-z]{2,4}#
-----
per controllare un numero max di numeri si potrebbe usare il pattern condizionale, ma diventa una cosa enorme.
dovrei documentarmi...