A única coisa que deve ser validada é o número de dígitos - corresponde ao que você precisa chamar?
Os códigos de acesso não podem / não devem ser permitidos por um usuário (ou seja, +1 nos EUA). Vou lhe dizer por que - se é um americano que entra e não é tão experiente, provavelmente deseja inserir 001 em vez de 1. O motivo é que 00 é como você acessa um número internacional de dentro dos EUA. Eles não sabem qual é a diferença entre isso e apenas +1. Se você estiver ligando para telefones fixos entre códigos de área (e às vezes no mesmo código de área), também digitará 1 antes desse número. Assim como o Japão.
Veja o Japão. As linhas terrestres provinciais são acessadas com um 0 na frente delas. Mas se você estiver discando de fora do Japão, não precisará desse 0.
Os números de celular na China têm 10 dígitos e em Hong Kong, 8. Se o formulário captura o país, nem peça o código do país no início do número - apenas o mostre automaticamente em texto somente leitura, ao lado de o número que eles precisam inserir.
A lista continua.
Apenas valide o número de dígitos (verifique se nenhuma letra é aceita) e facilite para o usuário final digitar o número certo de dígitos. Ou seja, eles não precisam digitar o código do país e, se seu formulário for super inteligente, talvez nem precisem digitar o código de área se for um número de telefone fixo. Ou, se eles começarem a digitar coisas como um código de acesso, como 0 na frente de um número japonês, informe-os de que não precisam.
Todos os outros caracteres, além dos dígitos, devem ser um ponto discutível - eles não têm chance de inseri-los.