npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

valiy

v1.1.2

Published

Validator - A mini regex library for most commonly used patterns

Downloads

25

Readme

Valiy NPM version Downloads

A mini regex library for most commonly used patterns

Valiy

Regex

  • Pan Card
  • Aadhaar Card
  • GST Number
  • Passport
  • Voter ID
  • Phone number,
  • Pincode,
  • Pure numbers,
  • Pure string,
  • Alphanumeric,
  • Alphanumeric with spaces,
  • Username,
  • Fullname
  • Email
  • Web URL

Getting Started (Installation)

yarn add valiy

or

npm i valiy --save-dev

Validate Methods

Method | Params | Description ----------------------------------|------------------|---------------------------- validate | regex, value | Custom validation - validate(regex, value) returns boolean validatePan | value | Pan validation - validatePan(value) returns boolean validateAadhaar | value | Aadhar validation - validateAadhaar(value) returns boolean validateGST | value | GST validation - validateGST(value) returns boolean validatePassport | value | Passport validation - validatePassport(value) returns boolean validateVoterId | value | VoterID validation - validateVoterId(value) returns boolean validatePhone | value | Phone number validation - validatePhone(value) returns boolean validatePincode | value | Pincode validation - validatePincode(value) returns boolean validateOnlyString | value | String validation - validateOnlyString(value) returns boolean validateOnlyNumber | value | Number validation - validateOnlyNumber(value) returns boolean validateAlphanumeric | value | Alphanumeric validation - validateAlphanumeric(value) returns boolean validateAlphanumericWithSpace | value | Alphanumeric with space validation - validateAlphanumericWithSpace(value) returns boolean validateFullname | value | Full name validation - validateFullname(value) returns boolean validateUsername | value | Username validation - validateUsername(value) returns boolean validateEmail | value | Email validation - validateEmail(value) returns boolean validateWebUrl | value | Web URL validation - validateWebUrl(value) returns boolean


Usage

import { Validator, Regex } from 'valiy';

// PAN Validation
Validator.validatePan('BUFPP9037C') // True
Validator.validatePan('BUFPP90_37CS') // False

// AADHAR Validation
Validator.validateAadhaar('5858 5119 3566') // True


// Full name validation
Validator.validateFullname('ABDUL KALAM AZAAD') // True
Validator.validateFullname('0345_KRISH') // False


// Validate GST
Validator.validateGST('07CQZCD1111I4Z7') // True


// Can get Regex directly
Regex.PAN_REGEX;  // /[A-Z]{5}[0-9]{4}[A-Z]{1}$/


// Custom validation
Validator.validate(SOME_REGEX, 'VALUE1234'); // True or False

Regex Conditions

PAN

/**
 * @name PAN_REGEX
 * @example BUFPP9037C
 * @description 
 *    - First 5 alphabets
 *    - followed by 4 numberals
 *    - followed by one alphabets
 */

Aadhar

/**
 * @name AADHAAR_REGEX
 * @example 5858 5119 3566
 * @description: 12 Digits with space after every 4 digits
 */

GST

/**
 * @name GST_REGEX
 * @example 27AAPFU0939F1ZV
 * @description Total 15 characters
 *  - First 2 digits of the GST Number will represent State Code as per the Census (2011).
    - Next 10 digits will be same as in the PAN number of the taxpayer.
       - First five will be alphabets
       - Next four will be numbers
       - Last will be check code
    - The 13th digit will be the number of registration you take within a state i.e. after 9, A to Z is considered as 10 to 35 .
    - 14th digit will be Z by default.
    - Last would be the check code. 
 */

Passport

/**
 * @name PASSPORT_REGEX
 * @example A2096457
 * @description It should be eight characters long. 
 *  - The first character should be an upper case alphabet. 
 *  - The next two characters should be a number, but the first character should be any number from 1-9 and the second character should be any number from 0-9.
 *  - It should be zero or one white space character.
 *  - The next four characters should be any number from 0-9.
 *  - The last character should be any number from 1-9.
 */

Voter ID

/**
 * @name VOTER_ID_REGEX
 * @example GDN0225185
 * @description It should be 10 characters long
 *  - First 3 alphabets
 *  - Followed by 7 numbers
 */

Phone number

/**
 * @name PHONE_NUMBER_REGEX
 * @example 8880344456 | +918880344456 | +91 8880344456 | +91-8880344456 | 08880344456 | 918880344456
 * @description Mobile number validation with all cases +91,0,Without prefix.
 */

Pincode

/**
 * @name PINCODE_REGEX
 * @example 770018
 * @description It should be 6 digit number
 *  - First digit cannot be 0
 */

Only strings

/**
 * @name ONLY_STRING_REGEX
 * @example Bharatpe
 * @description All string regex
 */

Numbers

/**
 * @name ONLY_NUMBERS_REGEX
 * @example 1234
 * @description All numbers regex
 */

Alphanumeric

/**
 * @name ALPHANUMERIC_REGEX
 * @example abcDeF124
 * @description Alpanumeric contains mix of numbers and alpahbets
 */

Alphanumeric with string

/**
 * @name ALPHANUMERIC_WITH_SPACE_REGEX
 * @example abcD eF 124
 * @description Alpanumeric contains mix of numbers and alpahbets with spaces in between
 */

Username

/**
 * @name USERNAME_REGEX
 * @example abcDe_F124
 * @description Alpanumeric contains mix of numbers and alpahbets
 */

Fullname

/**
 * @name FULL_NAME_REGEX
 * @example MOHANA KRISHNA PADDA
 * @description Alpanumeric contains mix of numbers and alpahbets
 */

Email

/**
 * @name EMAIL_REGEX
 * @example [email protected] | [email protected] | [email protected]
 * @description Common email validator
 *  - Start with alphanumeric
 *  - Followed by alphanumeric with underscore, dot allowed
 *  - With @ followed by domain name
 */

Web URL

/**
 * @name WEB_URL_REGEX
 * @example bharatpe.com | www.bharatpe.io | https://bharatpe.com | http://bharatpe.com?file=jus_.F-filename_
 * @description Common Web url format
 */

Contributors

Here Contributors

License

MIT @bharatpe