0.3.0 • Published 8 years ago

regs v0.3.0

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

regs

npm version npm download count XO code style

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

  • yeoman (regs.yeoman())
  • trim (regs.trim())
  • email (regs.email())
  • githubIssue (regs.githubIssue())
  • markdownHeader (regs.markdownHeader())

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