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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top