Use the following function to validate your CNP string:
/** * Validate CNP * @param {string} value CNP * @returns {boolean} Valid or not */ function validateCNP (value) { var re = /^\d{1}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])(0[1-9]|[1-4]\d| 5[0-2]|99)\d{4}$/, bigSum = 0, rest = 0, ctrlDigit = 0, control = '279146358279', i = 0; if (re.test(value)) { for (i = 0; i < 12; i++) { bigSum += value[i] * control[i]; } ctrlDigit = bigSum % 11; if (ctrlDigit === 10) { ctrlDigit = 1; } if (ctrlDigit !== parseInt(value[12], 10)) { return false; } else { return true; } } return false; };