mod 11 dígito de verificação com regex
-
09-09-2019 - |
Pergunta
É possível criar um mod 11 verificação de rotina dígitos com uma declaração regex?
The nubmer é um número de 10 dígitos,
Passo 1: A = (segundo número * 2) + (3 número * 4) + (4 número * 8) + (5 número * 5) + (6 número * 10) + (7 número * 9) + (8 número * 7) + (9 número 3 *))
Passo 2: B = A / 11 (Ignor restante)
Passo 3: C = B * 11
Passo 4: D = A - C
Passo 5: 11 - D must = 10 ° dígito
Solução
Não -. Fundamentalmente você está querendo fazer a matemática aqui, e que não se encaixa com expressões regulares que são apenas sobre os padrões
Quer dizer, teoricamente é certamente possível - você poderia listar todos os números válidos, e combiná-los em uma enorme regex. No entanto, não é quase viável.
Outras dicas
Use regex como uma máquina de estado finito. http://quaxio.com/triple/
Regex faz correspondência de padrão, não é realmente a análise. Você precisa analisar o número para obter os dígitos. Sugiro usar o regex para garantir que é um número de 10 dígitos e, em seguida, ToString ()-lo e cortá-lo.