1.2.0 • Published 2 months ago

validate-chilean-rut v1.2.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 months ago

validate-chilean-rut

Validate chilean ruts as easy as abc. A zero dependencies, lightweight library that normalized and validates chilean ruts. Written in typescript.

Getting started

Just install

with npm:

npm install validate-chilean-rut

yarn

yarn add validate-chilean-rut

or in a html environment with unpkg

<script crossorigin src="https://unpkg.com/validate-chilean-rut"><script/>

Documentation

validateRut: (rut: number | string) => boolean

Receives either a number or string rut and returns whether it is a valid rut or not

import { validateRut } from "validate-chilean-rut";

console.log(validateRut("96.591.760-8")); // true
console.log(validateRut("96591760-8")); // true
console.log(validateRut("965917608")); // true
console.log(validateRut(965917608)); // true
console.log(validateRut("96.591.760-7")); // false

clearRut: (rut: number | string) => string

Receives either a number or string rut and returns a normalized rut (string)

import { clearRut } from "validate-chilean-rut";

console.log(clearRut("96.591.760-8")); // "965917608"
console.log(clearRut("96591760-8")); // "965917608"
console.log(clearRut(965917608)); // "965917608"

getCheckDigit: (rutWithoutCheckDigit: number | string) => string

Receives rut body (everything but the "- checkDigit") either as a number or string rut and returns the check digit as string

import { getCheckDigit } from "validate-chilean-rut";

console.log(getCheckDigit("96.591.760")); // "8"
console.log(getCheckDigit(96591760)); // "8"

formatRut: (rut: number | string) => string

Receives either a number or string rut and returns a formatted rut (string) with dots and dash.

import { formatRut } from "validate-chilean-rut";

console.log(formatRut("96.591.760-8")); // "96.591.760-8"
console.log(formatRut("96591760-8")); // "96.591.760-8"
console.log(formatRut(965917608)); // "96.591.760-8"

If the rut is not valid, it will format it anyway.

Internal functions (you probably won't use them)

splitRut: (cleanRut: string) => { checkDigit: string; inverseRut: string[];}

Receives a normalized rut and returns the checkDigit and the inverse rut body as an string array

getRutSum: (stringDigitArray: string[]) => number

Receives the inverse rut body (string array) and returns the multiplication sum

getCheckDigitFromSum: (sum: number) => string

Receives the multiplication sum and returns the check digit

1.2.0

2 months ago

1.1.0

1 year ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago