You can use the function in this file 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;
};
Code language: JavaScript (javascript)