regs

Useful regular expressions for JavaScript

Usage no npm install needed!

<script type="module">
  import regs from 'https://cdn.skypack.dev/regs';
</script>

README

regs

npm version npm download count XO code style

Linux & OSX Windows

Useful regular expressions for JavaScript


Install

npm install --save regs

Usage

Node

const regs = require('regs');

regs.email().test('me@gmail.com');
//=> true

regs.yeoman().exec('<% var1 %>')[1]
//=> 'var1'

Web

<script src="https://rawgit.com/dawsonbotsford/regs/master/bundle.js"></script>
<script>
  alert(regs.trim().exec(' var1 ')[1]);
  //=> 'var1'
</script>

Supported regexp types


API

  • Each function call returns a RegExp object which can then operate on/with.

  • Each function call supports (optionally) the official RegExp flags which alter behavior of the search. (ex: 'g' for global or 'i' to ignore case)


regs.yeoman([RegExpFlags])

Capture text between <% %> or <%= %>.

1 capture group - the value between delimeters.

Example:

regs.yeoman().exec('<% capture this %>')[1];
//=> 'capture this'

regs.trim([RegExpFlags])

Capture text without surrounding spaces.

1 capture group - the value between starting and ending spaces.

Example:

regs.trim().exec(' var1 ')[1];
//=> 'var1'

regs.email([RegExpFlags])

Capture all three parts of an email address. Example:

3 capture groups -

  1. Name (before @)
  2. Domain body (between @ and .)
  3. Domain suffix (com, io, etc.)

Example:

// Simple validation
regs.email().test('name@domain.suffix');
//=> true

// Capture all parts
regs.email().exec('hi@me.io');
//=> [ 'hi@me.io', 'hi', 'me', 'io', index: 0, input: 'hi@me.io' ]

regs.githubIssue([RegExpFlags])

Capture number following a pound (GitHub issue reference)

1 capture group - The numeric value of the issue

Example:

regs.githubIssue().exec('#98')[1];
//=> '98'

regs.markdownHeader(headerNumber [, RegExpFlags])

Capture text following a markdown header pound (#)

1 capture group - Text following the header

headerNumber examples:

  • An h1 in markdown is # <text>, and the headerNumber should be set to 1
  • An h3 in markdown is ### <text>, and the headerNumber should be set to 3

Example:

regs.markdownHeader(1).exec('# my header 1')[1];
//=> 'my header 1'

regs.markdownHeader(4).exec('#### my header 4')[1];
//=> 'my header 4'

Similar


License

MIT © Dawson Botsford