aboutsummaryrefslogtreecommitdiff
path: root/challenge-347/roger-bell-west/javascript/ch-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-347/roger-bell-west/javascript/ch-2.js')
-rwxr-xr-xchallenge-347/roger-bell-west/javascript/ch-2.js69
1 files changed, 69 insertions, 0 deletions
diff --git a/challenge-347/roger-bell-west/javascript/ch-2.js b/challenge-347/roger-bell-west/javascript/ch-2.js
new file mode 100755
index 0000000000..4ce9d64521
--- /dev/null
+++ b/challenge-347/roger-bell-west/javascript/ch-2.js
@@ -0,0 +1,69 @@
+#! /usr/bin/node
+
+"use strict"
+
+function formatphonenumber(a) {
+ let pure = [];
+ for (let c of a.split('')) {
+ if (c >= '0' && c <= '9') {
+ pure.push(c);
+ }
+ }
+ let left = pure.length;
+ let out = [];
+ let i = 0;
+ if (left > 4) {
+ for (let c of pure) {
+ out.push(c);
+ i += 1;
+ left -= 1;
+ if (i % 3 == 0) {
+ out.push('-');
+ if (left <= 4) {
+ break;
+ }
+ }
+ }
+ }
+ if (left == 4) {
+ out.push(pure[i]);
+ out.push(pure[i + 1]);
+ out.push('-');
+ i += 2;
+ }
+ for (let p = i; p < pure.length; p++) {
+ out.push(pure[p]);
+ }
+ return out.join("");
+}
+
+if (formatphonenumber('1-23-45-6') == '123-456') {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (formatphonenumber('1234') == '12-34') {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (formatphonenumber('12 345-6789') == '123-456-789') {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (formatphonenumber('123 4567') == '123-45-67') {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write(" ");
+if (formatphonenumber('123 456-78') == '123-456-78') {
+ process.stdout.write("Pass");
+} else {
+ process.stdout.write("FAIL");
+}
+process.stdout.write("\n");