Sha256: 930843903c86a1777ee8cbb842b8e51fbe8fabad0df5b6a703f95e7c9a611b0d

Contents?: true

Size: 890 Bytes

Versions: 52

Compression:

Stored size: 890 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 && num[0]>=2&& num[3]>=2) {
    return num;
  } else if (num.length === 11 && num[0] === '1') {
    return num.substr(1,num.length);
  } else {
    return null;
  }
};

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

52 entries across 52 versions & 1 rubygems

Version Path
trackler-2.2.1.17 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.16 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.15 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.14 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.13 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.12 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.11 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.10 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.9 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.8 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.7 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.6 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.5 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.4 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.3 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.2 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.1 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.1.0 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.0.6 tracks/javascript/exercises/phone-number/example.js
trackler-2.2.0.5 tracks/javascript/exercises/phone-number/example.js