Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wws

[Resolvido] como diferenciar tel fixo de cel para cadastro de com

Recommended Posts

Uso um sistema de vendas pela internet onde os meis de pagamento são gerados pelo pagseguro.

 

Dai por exemplo, meu cliente se cadastra com um numero de telefone celular, e na hora de finalizar a compra na tela de pagamento do pagseguro da um alerta que numeros de telefones celulares não são aceitos, dai se o cliente mudar de numero colocando um numero de telefone fixo, dará diferença no retorno automatico, dificultando saber quem pagou, porque no meu cadastro terá o numero do celular e não do fixo que ele digitou depois na tela de pagamento do pagseguro.

 

Alguém me entendeu ou tem, ou teve a mesma dúvida.

 

Não quero códigos, somente quero uma solução para diferenciar na minha tela de cadastro no campo telefone os numeros de telefone fixos de telefones celulares, de forma teórica.

 

Por exemplo, tenho uma sugestão a de que números de telefones celulares começam normalmente com 8 ou 9 e os fixos ficariam entre os numeros de 0 a 7, será mesmo isso?

 

Ja tentei contato com a anatel mas é complicado conseguir um atendimento bom, Então estou tentando o forum aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você não quer códigos naõ tem solução.

 

Ou usa código javascript pelo menos para validar o campo antes de ir para o pagamento ou fica assim mesmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Você pode desenvolver uma solução em Javascript, como mencionou o colega acima.

 

Quando clicar no botão para enviar para o pagseguro, chama uma função em java que confere o número enviado, se for celular, dá uma mensagem na tela e não envia.

 

Só alertando, para o DDD 11, até mesmo números que iniciam com 6 são celulares. Acredito que para todo o resto do Brasil, somente 8 e 9 mesmo.

 

Então precisa comparar a caixa de DDD para ver se é 11 e depois comparar a caixa de telefone para ver o primeiro dígito.

 

Se precisar de ajuda para desenvolver a função em javascript avisa que transfiro o tópico para o setor específico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei que podemos desenvolver em javascript só que primeiro tenho que saber qual a teoria por trás do código, como ele vai "pensar", tipo o Claudio Neto disse que com prefixo 11 alguns celulares começam com o '6' é disso que preciso só que de forma mais técnica e precisa, ou seja quase ou 100% confiável depois de saber as regras que tem que ser respeitadas para números de celulares e fixos em monto o javascript a partir disso.

 

bom já sei que celulares começam com 8 ou 9 para a maioria dos estados e o Claudio Neto disse que com prefixo 11 alguns celulares começam com o 6. Será que há mais regras?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma funão em javascript que confere, celular começam com 6,7,8 e 9

Caso o telefone começar com algum desses números mostra a mensagem e não deixa ir para o pagamento..

Saca?

Creio que isso resolve seu problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, então o problema se resolve com os números digitados que começam com 6,7,8 e 9 beleza.

 

Não consigo consultar a Anatel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal,

 

Navegando nos documentos da Anatel encontrei algumas coisas interessantes para este tópico.

 

http://www.anatel.gov.br/hotsites/CodigosN...digosDeArea.htm - Lista de DDDs de cada cidade do Brasil

 

http://www.anatel.gov.br/Portal/verificaDo...es_263_2001.pdf - Documento completo com os DDDs de cada cidade

 

http://www.anatel.gov.br/Portal/verificaDo...res_86_1998.pdf - REGULAMENTO DE NUMERAÇÃO DO SERVIÇO TELEFÔNICO FIXO COMUTADO

 

Neste último, destaco o seguinte:

 

O Código de Acesso de Usuário é classificado em:

I – Código de Acesso de Assinante, designado a assinante do STFC;

II- Código de Acesso de Terminal de Uso Público, designado a telefone de uso público do STFC;

 

O Código de Acesso de Usuário tem formato padronizado, composto por 8 (oito) caracteres

numéricos, representado por séries de formato [N8+N7N6N5+N4N3N2N1], onde N8 identifica o serviço ao

qual o código está vinculado.

 

O Código de Acesso de usuário, no formato [N8+N7N6N5+N4N3N2N1], tem a seguinte Destinação:

I – para o identificador de serviço N8:

“2” a “6”: STFC

“9”: Serviço Móvel Celular; e

“0”, “1”, “7” e “8”: reserva.

II – para as séries N7N6N5:

“00N5”: reserva; e

“N7N60”: Código de Acesso com portabilidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá

 

Segundo a tabela não oficial http://spreadsheets.google.com/pub?key=pNC...amp;single=true os números de telefones celulares começam com "7","8" ou "9" e....

 

Segundo a consulta do Michael Granados, pelo o que eu entendi, foi que o inicio dos fixos varia de "2" a "6".

 

E os celulares "9", os outros reservas "0", "1", "7", "8" seriam para celulares também.

 

Acho que já temos condições de começar um script que diferencie um número fixo de um celular.

Compartilhar este post


Link para o post
Compartilhar em outros sites

postei um script exemplo no topico

http://forum.imasters.com.br/index.php?showtopic=348234

 

mas se analizarmos há uma falha.

 

pois é melhor fazer a checagem da string de modo inverso

 

script original, propenso a falhas

<?php

$n = '2291234567'; // com DDD
//$n = '91234567'; // sem DDD

$p = substr( $n, (strlen( $n ) == 10 ? 2 : 0), 1 );
if( $p > 6 and $p < 10 )
{
	// celular
	echo 'celular';
}else{
	// outro
	echo 'outro';
}
?>

 

novo script baseado nas informações do Michel e do wws

 

<?php

$n = '2291234567'; // com DDD
//$n = '91234567'; // sem DDD

function BrazilCellPhone( $n )
{
	$m = array( 
			0 => true,
			1 => true,
			7 => true,
			8 => true,
			9 => true
		);
	
	
	if( isset( $m[ substr( $n, -8, 1 ) ] ) )
	{
		return true;
	}
	
	return false;
}


if( BrazilCellPhone( $n ) )
{
	echo 'ok';
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá

 

Segundo a tabela não oficial http://spreadsheets.google.com/pub?key=pNC...amp;single=true os números de telefones celulares começam com "7","8" ou "9" e....

 

Segundo a consulta do Michael Granados, pelo o que eu entendi, foi que o inicio dos fixos varia de "2" a "6".

 

E os celulares "9", os outros reservas "0", "1", "7", "8" seriam para celulares também.

 

Acho que já temos condições de começar um script que diferencie um número fixo de um celular.

Então em todo o país números que iniciam com 7 são celulares? Não sabia...

 

Mas não se esqueça do DDD 11 heim, também os que começam com 6. Isso é recente, mudou quando a OI chegou aqui, então talvez não esteja na tabela não oficial pela data.

 

Pode ser que no país todo isso já seja regra também, que fixo agora só do 2 ao 5.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.