Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static bool validateImeiLong(string imei)
- {
- if (!imeiRx.IsMatch(imei))
- {
- return false;
- }
- var numbers = imei.ToCharArray().Select(x => int.Parse(x.ToString())).ToArray();
- var doubles = Enumerable.Range(0, 15).Select(x => x % 2 == 0 ? numbers[x] : 2 * numbers[x]).ToArray();
- var doublesDigits = doubles.Select(x => x >= 10 ? x - 9 : x).ToArray(); // x - 10 (mod 10) + 1 (first digit)
- var sum = doublesDigits.Sum();
- var mod10 = sum % 10;
- bool isValid = false;
- if (mod10 == 0) isValid = true;
- return isValid;
- }
- private static Regex imeiRx = new Regex(@"^\d{15}$", RegexOptions.Singleline | RegexOptions.Compiled);
- public static bool IsValidImei(string imei)
- {
- if (!imeiRx.IsMatch(imei))
- {
- return false;
- }
- bool isValid = false;
- var digits = imei.ToCharArray().Select(x => int.Parse(x.ToString())).ToArray();
- var sum = Enumerable.Range(0, 15).Select(x => x % 2 == 0 ? digits[x] : 2 * digits[x]).Select(x => x >= 10 ? x - 9 : x).Sum();
- if (sum % 10 == 0) isValid = true;
- return isValid;
- }
Add Comment
Please, Sign In to add comment