Sha256: 8294af443544921c35038ae7e7df4e461f46db0fde1df83612d2a01c09881a42

Contents?: true

Size: 470 Bytes

Versions: 121

Compression:

Stored size: 470 Bytes

Contents

'use strict';

function ISBN(isbn) {
  this.isbn = isbn.replace(/-/g, '');

  this.isValid = function () {
    if (!this.isbn.match(/^(\d{9}[\dX])$/)) {
      return false;
    }

    var digits = this.isbn.split('');
    if (digits[9] === 'X') {
      digits[9] = 10;
    }

    var sum = digits.reduce(function (total, current, index) {
      return total + ((10 - index) * parseInt(current, 10));
    }, 0);

    return sum % 11 === 0;
  };
}

module.exports = ISBN;

Version data entries

121 entries across 121 versions & 1 rubygems

Version Path
trackler-2.2.1.78 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.77 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.76 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.75 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.74 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.73 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.72 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.71 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.70 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.69 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.68 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.67 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.66 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.65 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.64 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.63 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.62 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.61 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.60 tracks/javascript/exercises/isbn-verifier/example.js
trackler-2.2.1.59 tracks/javascript/exercises/isbn-verifier/example.js