From eea8ab3df39108ec40a8ce47eceef338d1f1fe03 Mon Sep 17 00:00:00 2001 From: Suryapratap Singh Date: Fri, 20 Aug 2021 21:26:26 +0530 Subject: [PATCH] add CheckSnakeCase method --- String/CheckSnakeCase.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 String/CheckSnakeCase.js diff --git a/String/CheckSnakeCase.js b/String/CheckSnakeCase.js new file mode 100644 index 000000000..6e0483210 --- /dev/null +++ b/String/CheckSnakeCase.js @@ -0,0 +1,20 @@ +// CheckSnakeCase method checks the given string is in snake_case or not. + +// Problem Source & Explanation: https://en.wikipedia.org/wiki/Naming_convention_(programming) + +/** + * CheckSnakeCase method returns true if the string in snake_case, else return the false. + * @param {String} varName the name of the variable to check. + * @returns `Boolean` return true if the string is in snake_case, else return false. + */ +const CheckSnakeCase = (varName) => { + // firstly, check that input is a string or not. + if (typeof varName !== 'string') { + return new TypeError('Argument is not a string.') + } + + const pat = /(.*?)_([a-zA-Z])*/ + return pat.test(varName) +} + +module.exports = CheckSnakeCase