csharp Valida rut Chileno con c#,basado el algoritmo modulo 11
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp Valida rut Chileno con c#,basado el algoritmo modulo 11相关的知识,希望对你有一定的参考价值。
/// <summary>
/// Validador de RUT Chileno
/// Hace uso del algoritmo Modulo 11
///
/// Chilean ID Number validator
/// Use the algorithm called Module 11
/// </summary>
class Rut {
/// <summary>
/// Metodo de validación de rut con digito verificador
/// dentro de la cadena
/// </summary>
/// <param name="rut">string</param>
/// <returns>booleano</returns>
public static bool ValidaRut(string rut) {
rut = rut.Replace(".", "").ToUpper();
Regex expresion = new Regex("^([0-9]+-[0-9K])$");
string dv = rut.Substring(rut.Length - 1, 1);
if (!expresion.IsMatch(rut)) {
return false;
}
char[] charCorte = { '-' };
string[] rutTemp = rut.Split(charCorte);
if (dv != Digito(int.Parse(rutTemp[0]))) {
return false;
}
return true;
}
/// <summary>
/// Método que valida el rut con el digito verificador
/// por separado
/// </summary>
/// <param name="rut">integer</param>
/// <param name="dv">char</param>
/// <returns>booleano</returns>
public static bool ValidaRut(string rut, string dv) {
return ValidaRut(rut + "-" + dv);
}
/// <summary>
/// método que calcula el digito verificador a partir
/// de la mantisa del rut
/// </summary>
/// <param name="rut"></param>
/// <returns></returns>
public static string Digito(int rut) {
int suma = 0;
int multiplicador = 1;
while (rut != 0) {
multiplicador++;
if (multiplicador == 8)
multiplicador = 2;
suma += (rut % 10) * multiplicador;
rut = rut / 10;
}
suma = 11 - (suma % 11);
if (suma == 11) {
return "0";
} else if (suma == 10) {
return "K";
} else {
return suma.ToString();
}
}
}
以上是关于csharp Valida rut Chileno con c#,basado el algoritmo modulo 11的主要内容,如果未能解决你的问题,请参考以下文章
javascript rut chileno validador y mascara
java Valida RUT con Java
javascript HTML5智利RUT验证器
PHP Php - Formatear con puntos RUT
php ValidaçãoroIP
markdown Validaçõesespeciais(关注)