# hex-color-regex

> The best regular expression (regex) for matching hex color values from string.

[![code climate](https://img.shields.io/codeclimate/github/regexps/hex-color-regex.svg)](https://codeclimate.com/github/regexps/hex-color-regex) [![standard code style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard) [![travis build status](https://img.shields.io/travis/regexhq/hex-color-regex.svg)](https://travis-ci.org/regexhq/hex-color-regex) [![coverage status](https://img.shields.io/codeclimate/coverage/github/regexps/hex-color-regex.svg)](https://codeclimate.com/github/regexps/hex-color-regex) [![dependency status](https://img.shields.io/david/dev/regexhq/hex-color-regex.svg)](https://david-dm.org/regexhq/hex-color-regex)

## Install

```
npm i hex-color-regex --save
npm test
```

## Usage

> For more use-cases see the [tests](https://github.com/bgoonz/Learning-Redux/blob/master/repos/examples/real-world/node_modules/hex-color-regex/test.js)

* `[opts]` **{Object}** pass `strict: true` for strict mode
* `return` **{RegExp}**

**Example**

```js
var hexColorRegex = require('hex-color-regex')

hexColorRegex().test('#f3f}') //=> true
hexColorRegex({strict: true}).test('#f3f}') //=> false

hexColorRegex().test('foo #f3f bar') //=> true
hexColorRegex({strict: true}).test('foo #f3f bar') //=> false

hexColorRegex().test('#a54f2c}') //=> true
hexColorRegex({strict: true}).test('#a54f2c}') //=> false

hexColorRegex().test('foo #a54f2c bar') //=> true
hexColorRegex({strict: true}).test('foo #a54f2c bar') //=> false

hexColorRegex().test('#ffff') //=> false
hexColorRegex().test('ffff') //=> false

hexColorRegex().test('#fff') //=> true
hexColorRegex().test('fff') //=> false

hexColorRegex().test('#4g1') //=> false
hexColorRegex().test('4g1') //=> false
hexColorRegex().test('#zY1') //=> false
hexColorRegex().test('zY1') //=> false
hexColorRegex().test('#7f68ZY') //=> false
hexColorRegex().test('7f68ZY') //=> false
hexColorRegex().test('ffffff') //=> false

hexColorRegex().test('#afebe3') //=> true
hexColorRegex().test('#AFEBE3') //=> true
hexColorRegex().test('#3cb371') //=> true
hexColorRegex().test('#3CB371') //=> true
hexColorRegex().test('#556b2f') //=> true
hexColorRegex().test('#556B2F') //=> true
hexColorRegex().test('#708090') //=> true
hexColorRegex().test('#7b68ee') //=> true
hexColorRegex().test('#7B68EE') //=> true
hexColorRegex().test('#eeeeee') //=> true
hexColorRegex().test('#ffffff') //=> true
hexColorRegex().test('#111111') //=> true

hexColorRegex().test('#afe') //=> true
hexColorRegex().test('#AF3') //=> true
hexColorRegex().test('#3cb') //=> true
hexColorRegex().test('#3CB') //=> true
hexColorRegex().test('#b2f') //=> true
hexColorRegex().test('#5B2') //=> true
hexColorRegex().test('#708') //=> true
hexColorRegex().test('#68e') //=> true
hexColorRegex().test('#7AF') //=> true
hexColorRegex().test('#777') //=> true
hexColorRegex().test('#FFF') //=> true
hexColorRegex().test('#fff') //=> true
```

## Matching groups

* `match[0]` hex value with hash - `#f3f3f3`
* `match[1]` hex value without the hash - `f3f3f3`

**Example**

```js
hexColorRegex().exec('foo #fff bar')
//=> [ '#fff', 'fff', index: 4, input: 'foo #fff bar' ]

hexColorRegex({strict: true}).exec('foo #fff bar')
//=> null

hexColorRegex().exec('foo #f3f3f3 bar')
//=> [ '#f3f3f3', 'f3f3f3', index: 4, input: 'foo #f3f3f3 bar' ]

hexColorRegex({strict: true}).exec('foo #f3f3f3 bar')
//=> null
```

## Related

* [benz](https://github.com/tunnckocore/benz): Compose your control flow with absolute elegance. Support async/await, callbacks, thunks, generators, promises, observables, child… [more](https://github.com/tunnckocore/benz)
* [is-hexcolor](https://github.com/tunnckocore/is-hexcolor): Check that given value is valid hex color, using `hex-color-regex` - the best regex for… [more](https://github.com/tunnckocore/is-hexcolor)
* [is-ansi](https://github.com/tunnckocore/is-ansi): Check that given string contain ANSI color codes, without CLI
* [is-missing](https://github.com/tunnckocore/is-missing): Check that given `name` or `user/repo` exists in npm registry or in github as user… [more](https://github.com/tunnckocore/is-missing)
* [is-kindof](https://github.com/tunnckocore/is-kindof): Check type of given javascript value. Support promises, generators, streams, and native types. Thin wrapper… [more](https://github.com/tunnckocore/is-kindof)
* [is-typeof-error](https://github.com/tunnckocore/is-typeof-error): Check that given value is any type of error and instanceof Error
* [is-async-function](https://github.com/tunnckocore/is-async-function): Check that given function is async (callback) function or not. Trying to guess that based… [more](https://github.com/tunnckocore/is-async-function)
* [kind-error](https://github.com/tunnckocore/kind-error): Correct inheriting from `Error`. Supports constructing from an object of properties - focused on assertion.
* [kind-of-extra](https://github.com/tunnckocore/kind-of-extra): Extends `kind-of` type check utility with support for promises, generators, streams and errors. Like \`kindof(Promise.resolve(1))… [more](https://github.com/tunnckocore/kind-of-extra)
* [vez](https://github.com/tunnckocore/vez): Middleware composition at new level. Ultimate alternative to `ware`, `plugins`, `koa-compose` and `composition` packages. Allows… [more](https://github.com/tunnckocore/vez)

## Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/regexhq/hex-color-regex/issues/new).\
But before doing anything, please read the [CONTRIBUTING.md](https://github.com/bgoonz/Learning-Redux/blob/master/repos/examples/real-world/node_modules/hex-color-regex/CONTRIBUTING.md) guidelines.

## [Charlike Make Reagent](http://j.mp/1stW47C) [![new message to charlike](https://img.shields.io/badge/send%20me-message-green.svg)](https://github.com/tunnckoCore/messages) [![freenode #charlike](https://img.shields.io/badge/freenode-%23charlike-5654a4.svg)](http://webchat.freenode.net/?channels=charlike)

[![tunnckocore.tk](https://img.shields.io/badge/www-tunnckocore.tk-fe7d37.svg)](http://www.tunnckocore.tk) [![keybase tunnckocore](https://img.shields.io/badge/keybase-tunnckocore-8a7967.svg)](https://keybase.io/tunnckocore) [![tunnckoCore npm](https://img.shields.io/badge/npm-~tunnckocore-cb3837.svg)](https://www.npmjs.com/~tunnckocore) [![tunnckoCore twitter](https://img.shields.io/badge/twitter-@tunnckoCore-55acee.svg)](https://twitter.com/tunnckoCore) [![tunnckoCore github](https://img.shields.io/badge/github-@tunnckoCore-4183c4.svg)](https://github.com/tunnckoCore)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bryan-guner.gitbook.io/my-docs/redux/repos/examples/real-world/node_modules/hex-color-regex.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
