Skip to content

Instantly share code, notes, and snippets.

@Eomerx
Last active October 13, 2022 17:47
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save Eomerx/9ee93dd6ea4d77cb2ac3 to your computer and use it in GitHub Desktop.
Save Eomerx/9ee93dd6ea4d77cb2ac3 to your computer and use it in GitHub Desktop.
Validate TC ID
//=======================================
// CHECK TC ID =
//=======================================
var checkTcNum = function(value) {
value = value.toString();
var isEleven = /^[0-9]{11}$/.test(value);
var totalX = 0;
for (var i = 0; i < 10; i++) {
totalX += Number(value.substr(i, 1));
}
var isRuleX = totalX % 10 == value.substr(10,1);
var totalY1 = 0;
var totalY2 = 0;
for (var i = 0; i < 10; i+=2) {
totalY1 += Number(value.substr(i, 1));
}
for (var i = 1; i < 10; i+=2) {
totalY2 += Number(value.substr(i, 1));
}
var isRuleY = ((totalY1 * 7) - totalY2) % 10 == value.substr(9,0);
return isEleven && isRuleX && isRuleY;
};
window.checkTcNum = checkTcNum;
//-------- End of check tc id ---------//
@muratbeser
Copy link

eğer ki value undefined olarak gelirse javascript error throw edecektir, value = String(value) herhangi bir error throw etmeden doğrulamayı gerçekleşecektir.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment