Ruby Forum Rails-ES > Ayuda con rut chileno

Posted by Angel Mauricio Pino Gonzalez (Guest)
on 17.07.2008 05:22
(Received via mailing list)
Message: 4
Date: Wed, 16 Jul 2008 15:35:48 +0200
From: Jonathan Briones <ruby-forum-incoming@andreas-s.net>
Subject: [Ror-es] Ayuda con rut chileno
To: ror-es@lists.simplelogica.net
Message-ID: <c8d40e710b85c9ba91c90e74868eeb6f@ruby-forum.com>
Content-Type: text/plain; charset=utf-8

Hola quisiera me ayudaran a validar el rut de chile en el formata
xxxxxxxx-x



de antemano muchas gracias
--
Posted via http://www.ruby-forum.com/.

No es cosa de una expresion regular, ya que es una formula en base al
digito 11, yo lo que hago e sponerla en el modelo de la tabla
correspondiente de la siguiente manera, ya que no guardo el digito
verificador.

en el modelo coloco lo siguiente para mostrar el digito verificador,
espero te sea util.


  def dv
    crut = self.rut.to_s
    f=2
    i=(crut.size) -1
    ss=0
    while i >= 0
      ss += f * ((crut[i].to_i) -48)
      f += 1
      f = 2 if f > 7
      i -= 1
    end
    ss = 11 - (ss % 11)
    if ss == 10
      "K"
    else
      if ss == 11
        "0"
      else
        ss.to_s
      end
    end
  end


--
Angel Mauricio Pino G
AngelMauricio.PinoGonzalez@gmail.com
Movil: 08-577.92.72