Skip to content

Instantly share code, notes, and snippets.

@geekyakshay
Forked from step307/isValidSfId.js
Created March 14, 2023 07:10
Show Gist options
  • Save geekyakshay/8da5b998023c02a5bd76bb9e0ae6a633 to your computer and use it in GitHub Desktop.
Save geekyakshay/8da5b998023c02a5bd76bb9e0ae6a633 to your computer and use it in GitHub Desktop.
Javascript check salesforce id validity
function isValidSfId(str) {
// https://stackoverflow.com/a/29299786/1333724
if (typeof str !== 'string' || str.length !== 18) {
return false;
}
let upperCaseToBit = (char) => char.match(/[A-Z]/) ? '1' : '0';
let binaryToSymbol = (digit) => digit <= 25 ? String.fromCharCode(digit + 65) : String.fromCharCode(digit - 26 + 48);
let parts = [
str.slice(0,5).split("").reverse().map(upperCaseToBit).join(""),
str.slice(5,10).split("").reverse().map(upperCaseToBit).join(""),
str.slice(10,15).split("").reverse().map(upperCaseToBit).join(""),
];
let check = parts.map(str => binaryToSymbol(parseInt(str, 2))).join("");
return check === str.slice(-3);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment