Sha256: be925c5bc4b30234b9fbffaed0dae9761d5b67c101fc56a11b163bf0d7b697c3

Contents?: true

Size: 873 Bytes

Versions: 203

Compression:

Stored size: 873 Bytes

Contents

'use strict';

var Phone = module.exports = function Phone(number) {
  this.rawNumber = number;
  this.cleanedNumber = this.cleanNumber(number);
};

Phone.prototype.cleanNumber = function(number) {
  var num = number.replace(/\D/g,'');

  if (num.length === 10) {
    return num;
  } else if (num.length === 11 && num[0] === '1') {
    return num.substr(1,num.length);
  } else {
    return '0000000000';
  }
};

Phone.prototype.number = function() {
  return this.cleanedNumber;
};

Phone.prototype.areaCode = function() {
  return this.number().substr(0,3);
};

Phone.prototype.exchangeCode = function() {
  return this.number().substr(3,3);
};

Phone.prototype.subscriberNumber = function() {
  return this.number().substr(6,4);
};

Phone.prototype.toString = function() {
  return '(' + this.areaCode() + ') ' + this.exchangeCode() + '-' + this.subscriberNumber();
};

Version data entries

203 entries across 203 versions & 1 rubygems

Version Path
trackler-2.1.0.48 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.47 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.46 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.45 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.44 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.43 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.42 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.41 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.40 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.39 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.38 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.37 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.36 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.34 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.33 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.32 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.31 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.30 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.29 tracks/javascript/exercises/phone-number/example.js
trackler-2.1.0.28 tracks/javascript/exercises/phone-number/example.js