2.1.0 • Published 6 years ago

nsp-regexer v2.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

NPM

CircleCI npm npm GitHub issues Commitizen friendly GitHub license

Table of Contents

Why Regexer?

Regular expressions are awesome and absolutely super useful when it comes to looking for pattern matches in a string, but clearly it is not the easiest topic to get your head around. Don't believe me, just take a look!

Regexer just attempts to make the process of using some of the most popular regular expressions easier for you. You no longer need to look all over the place for finding a regular expression for matching an email or a phone number, or a hex value or even a day of the week. Just install regexer and use the built in common functions to verify candidate values.

Still confused...? Let's look at an example

Installation

Before we get going, make sure you have Node.js installed on your system, so we can use the NPM (Node Package Manager) to install regexer on your project.

$ npm install --save nsp-regexer

Usage

// ES5
const regexer = require('nsp-regexer');

console.log( regexer.isEmail('jsmith@gmail.com') )  // true
console.log( regexer.isLowerCase('KEVIN') )     // false
// ES6+
import { isVowel, isNegativeNumber } from 'nsp-regexer';

console.log( isVowel('b') )  // false
console.log( isNegativeNumber(-50.67) )  // true

API

.isCreditCard(creditCardNumber[number|string])

Returns true if creditCardNumber is a valid credit card number, otherwise returns false

import { isCreditCard } from 'nsp-regexer';

isCreditCard('345768475867474')  
// true

isCreditCard(5465838563658274)  
// true

isCreditCard('?')  
// false

.isDayOfMonth(day[number|string])

Returns true if day is a day of the month (1-31), otherwise returns false

import { isDayOfMonth } from 'nsp-regexer';

isDayOfMonth('28')  
// true

isDayOfMonth(12)  
// true

isDayOfMonth(55)  
// false

.isDayOfWeekString(day[number|string])

Returns true if day is name of a week day, otherwise returns false

import { isDayOfWeekString } from 'nsp-regexer';

isDayOfWeekString('monday')  
// true

isDayOfWeekString('Tuesday')  
// true

isDayOfWeekString('thURSdAy')  
// true

isDayOfWeekString('FRIDAY')  
// true

isDayOfWeekString('doomsday')  
// false

.isDecimal(number[number|string])

Returns true if number is a decimal number, otherwise returns false

import { isDecimal } from 'nsp-regexer';

isDecimal('55.55')  
// true

isDecimal(-0.999)  
// true

isDecimal(50)  
// false

.isEmail(email[string])

Returns true if email is a valid email address, otherwise returns false

import { isEmail } from 'nsp-regexer';

isEmail('jsmith@gmail.com')  
// true

isEmail('sdfsdfsdfsd.com')  
// false

.isHexValue(hexValue[string])

Returns true if hexValue is a valid hex value, otherwise returns false

import { isHexValue } from 'nsp-regexer';

isHexValue('#FBB')  
// true

isHexValue('#SHFF56')  
// true

isHexValue('#FF56')  
// true

isHexValue('sbfj&&#')  
// false

.isHTMLTag(htmlTag[string])

Returns true if htmlTag is an HTML tag, otherwise returns false

import { isHTMLTag } from 'nsp-regexer';

isHTMLTag('<img src="./img/cat.png" />')  
// true

isHTMLTag('#SHFF56')  
// true

isHTMLTag('<h1 class="center"> Hello World! </h1>')  
// true

isHTMLTag('<body>')  
// false

.isInteger(integer[number|string])

Returns true if integer is an integer, otherwise returns false

import { isInteger } from 'nsp-regexer';

isInteger('455')  
// true

isInteger(-44)  
// true

isInteger('-34.66')  
// false

.isIPAddressV4(ipAddress[string])

Returns true if ipAddress a valid IP address, otherwise returns false

import { isIPAddressV4 } from 'nsp-regexer';

isIPAddressV4('172.16.254.1')  
// true

isIPAddressV4('0.1.0.1')  
// true

isIPAddressV4('54.45.222.345')  
// false

.isLetter(char[string])

Returns true if char an alphabetic letter, otherwise returns false

import { isLetter } from 'nsp-regexer';

isLetter('v')  
// true

isLetter('P')  
// true

isLetter('?')  
// false

.isLowerCase(str[string])

Returns true if str contains all lower case letters, otherwise returns false

import { isLowerCase } from 'nsp-regexer';

isLowerCase('coffee')  
// true

isLowerCase('life is awesome!')  
// true

isLowerCase('I love the new Avengers!')  
// false

.isMonthOfYear(number[number|string])

Returns true if number is a month of year (1-12), otherwise returns false

import { isMonthOfYear } from 'nsp-regexer';

isMonthOfYear('4')  
// true

isMonthOfYear(12)  
// true

isMonthOfYear(30)  
// false

.isMonthOfYearString(month[string])

Returns true if month is a name of a month of year, otherwise returns false

import { isMonthOfYearString } from 'nsp-regexer';

isMonthOfYearString('march')  
// true

isMonthOfYearString('April')  
// true

isMonthOfYearString('augusta')  
// false

.isNegativeInteger(integer[number|string])

Returns true if integer is a negative integer, otherwise returns false

import { isNegativeInteger } from 'nsp-regexer';

isNegativeInteger('-55')  
// true

isNegativeInteger(-6456)  
// true

isNegativeInteger('0.33')  
// false

.isNegativeNumber(number[number|string])

Returns true if number is a negative number, otherwise returns false

import { isNegativeNumber } from 'nsp-regexer';

isNegativeNumber('-0.44')  
// true

isNegativeNumber(-55)  
// true

isNegativeNumber('-1434.44')  
// true

isNegativeNumber(10)  
// false

.isNumber(number[number|string])

Returns true if number is a number, otherwise returns false

import { isNumber } from 'nsp-regexer';

isNumber('-0.44')  
// true

isNumber('-4.6')  
// true

isNumber(45)  
// true

isNumber('a coffee')  
// false

.isPassword(password[string])

Returns true if password meets simple ruleset of a password (contains letters, numbers, hyphens, and underscores; length is between 6 to 18 characters), otherwise returns false

import { isPassword } from 'nsp-regexer';

isPassword('')  
// true

isPassword('i-love-cats_haha')  
// true

isPassword('02140coffee')  
// false

.isPositiveInteger(integer[number|string])

Returns true if integer is a positive integer, otherwise returns false

import { isPositiveInteger } from 'nsp-regexer';

isPositiveInteger('55')  
// true

isPositiveInteger(-140)  
// false

.isPositiveNumber(number[number|string])

Returns true if number is a positive number, otherwise returns false

import { isPositiveNumber } from 'nsp-regexer';

isPositiveNumber('4')  
// true

isPositiveNumber('0.5')  
// true

isPositiveNumber(74.23)  
// true

isPositiveNumber(-6)  
// false

.isSSN(number[string])

Returns true if number is a valid social security number, otherwise returns false

import { isSSN } from 'nsp-regexer';

isSSN('031767927')  
// true

isSSN('031-76-7927')  
// true

isSSN('031 76 7927')  
// true

isSSN('545-454-4555')  
// false

.isStandardZipCode(zipCode[string])

Returns true if zipCode is a valid zip code, otherwise returns false

import { isStandardZipCode } from 'nsp-regexer';

isStandardZipCode('02166')  
// true

isStandardZipCode('12045-6089')  
// true

isStandardZipCode('545-454-4555')  
// false

.isUpperCase(str[string])

Returns true if str contains all upper case letters, otherwise returns false

import { isUpperCase } from 'nsp-regexer';

isUpperCase('G')  
// true

isUpperCase('OH WOW!')  
// true

isUpperCase('tea is always BETTER!')  
// false

.isUrl(url[string])

Returns true if url a valid URL address, otherwise returns false

import { isUrl } from 'nsp-regexer';

isUrl('http://3iem.museum:1337/')  
// true

isUrl('plik.co.uk')  
// true

isUrl('tea@g!.org')  
// false

.isUsername(username[string])

Returns true if username meets the basic requirement of an username (contains letters, numbers, hyphens, and underscores; length is between 3 to 16 characters), otherwise returns false

import { isUsername } from 'nsp-regexer';

isUsername('jSmith455')  
// true

isUsername('james-bond007')  
// true

isUsername('0coffeeEnergy')  
// false

.isUSPhoneNumber(phoneNumber[string])

Returns true if phoneNumber a valid US phone number, otherwise returns false

import { isUSPhoneNumber } from 'nsp-regexer';

isUSPhoneNumber('6174330080')  
// true

isUSPhoneNumber('(617) 433-0080')  
// true

isUSPhoneNumber('454-454-4544-45')  
// false

.isUSState(state[string])

Returns true if state a name of one of US state, otherwise returns false

import { isUSState } from 'nsp-regexer';

isUSState('arizona')  
// true

isUSState('Rhode Island')  
// true

isUSState('Boston')  
// false

.isVowel(char[string])

Returns true if char a vowel letter, otherwise returns false

import { isVowel } from 'nsp-regexer';

isVowel('a')  
// true

isVowel('U')  
// true

isVowel('v')  
// false

.isYear(number[number|string])

Returns true if number a year, otherwise returns false

import { isYear } from 'nsp-regexer';

isYear('1985')  
// true

isYear('2019')  
// true

isYear('0344')  
// false

Obviously, more to come soon...!

Credits

Source code makes use of several open source packages, a few keys ones include...

  • Babel - To transpile ES6+ syntax to ES5, to run source code in Node and browser
  • Webpack - For module bundling and generating distributing assets
  • ESLint - To lint source code for better readability, syntax consistency and proper formatting
  • CircleCI - Continuous integration middleware to verify incremental builds are always passing

Support

You May Also Like...

  • focus - A simple, elegant task manager application to help students and computer savvy workers get their work done efficiently and on time
  • lists - Quickly draught down your todos, groceries, chores or any other lists of items quickly #powerOfLists

License

MIT

Contributors

2.1.0

6 years ago

2.0.0

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago

0.0.3

6 years ago

0.0.1

6 years ago