javascript dividindo uma seqüência de caracteres em caracteres especiais

Estou tentando preencher de forma "inteligente" um formulário, quero preencher previamente as entradas de nome e sobrenome com base no endereço de e-mail do usuário. Por exemplo,

jon.doe@email.com RETORNO Jon Doe
jon_doe@email.com RETORNAR Jon Doe
jon-doe@email.com RETORNO Jon Doe

Eu consegui pegar a string antes do@,

var email = letters.substr(0, letters.indexOf('@'));

Mas não consigo descobrir como dividir () quando o separador pode ter vários valores, eu posso fazer isso,

email.split("_")

mas como posso dividir em outro endereço de email caracteres especiais válidos?