Check your data against regular expressions or known keywords.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Check your data against regular expressions or known keywords (see Keyword section). Different versions for different platforms are availible.

Currently these plugins are stable:

  • jQuery
  • Vanilla JavaScript
  • Node.js Module

I wrote a really short blog post about the project a while ago, which can be read at Note that some code examples are out of date.


cc (Credit cards)

Works for:

American Express




or any

// Example (vanilla JS)
is('0000000000000000', 'cc:any'); // Returns true
is('4000000000000000', 'cc:Visa'); // Returns true

datetime (Date and time)

Format: 1996-12-19T16:39:57-08:00

// Example (vanilla JS)
is('1996-12-19T16:39:57-08:00', 'datetime'); // Returns true

isbn (ISBN)


// Example (vanilla JS)
is('0-85131-041-9', 'isbn'); // Returns true
is('0851310419', 'isbn'); // Returns true


// Example (vanilla JS)
is('978-1-56619-909-4', 'isbn'); // Returns true
is('9781566199094', 'isbn'); // Returns true

latlng (Latitude and longitude)


// Example (vanilla JS)
is('64.163296', 'latlng'); // Returns true


// Example (vanilla JS)
is('-21.859328', 'latlng'); // Returns true

phone (Phone numbers)

Argentina (ar)

Australia (au)

France (fr)

Iceland (is)

United Kingdom (uk)

United States of America (us)

// Example (vanilla JS)
is('+354 000-0000', 'phone:is'); // Returns true
is('000-0000', 'phone:is'); // Returns true
is('0000000', 'phone:is'); // Returns true

zip:'two letter ISO 3166 country code' (Zip codes for countries)

Argentina (ar)

Australia (au)

Austria (at)

Belgium (be)

Brazil (br)

Bulgaria (bg)

Canada (ca)

Croatia (hr)

Cyprus (cy)

Czech Republic (cz)

Denmark (dk)

Estonia (ee)

Finland (fi)

France (fr)

Germany (de)

Great Britain (gb)

Greece (gr)

Hungary (hu)

Iceland (is)

Italy (it)

Japan (jp)

Latvia (lv)

Lithuania (lt)

Luxembourg (lu)

Malta (mt)

Netherlands (nl)

Norway (no)

Poland (pl)

Portugal (pt)

Romania (ro)

Slovakia (sk)

Slovenia (se)

Spain (es)

Sweden (se)

Turkey (tr)

Ukraine (ua)

United States of America (us)

// Example (vanilla JS)
is('112', 'zip:is'); // Returns true
is('32044', 'zip:us'); // Returns true

Additional Goodies

The second parameter can point to a function within the check.fn object. It can also be a regular user defined function accepting a single argument which can be used for some complex (or simple) validation.

// Example (vanilla JS)
is(42, function ( num ) {
	return num === 20; // returns false

The expression argument can be an actual regular expression.

// Example (vanilla JS)
is('love', /.+/); // returns true

Change Log

0.2.1 AUGUST 3, 2013

  • Add a Luhn algorithm as a check function. Thanks everyone who pointed out the need for it.

  • Fix the README.

  • Rename the regex obj to check. It just makes more sense since we now have function tests.

0.2.0 JULY 30, 2013

  • All regular expressions are unit tested.

  • Added functionality to validate via functions. The second argument can now either be a regular function accepting a single argument or a string pointing to a function within the regex.fn object.

  • Current functions include: even, odd, regexp, ok and function.

0.1.2 JUNE 14, 2013

  • phone has become an object so calling it requires a two letter ISO 3166 country code. For example validating Icelandic phone numbers in vanilla JS is now done thusly: is('+354 000-0000', 'phone:is'). In addition a few more countries were added.

  • cc - pretty much same thing happend as with the phone thing.

0.1.1 May 24, 2013

  • First stable release

Get in touch

Follow me on twitter @rthor or send me a line in an email.