preface

This article has participated in the “Digitalstar Project” and won a creative gift package to challenge the creative incentive money.

Regular expression for the front end is very familiar, especially form verification, I do activity development, experienced all kinds of information filling, specially collated and collected a number of commonly used and not commonly used regulars.

I’ve documented them so you can look them up. The document has re, but not only re, there are many common JS methods waiting for you to discover, hope friends more support ~

👉👉 Online documentation

👉👉 source code address

Feel helpful to your partner to help click a star, or often come to the document to see, update more JS skills irregularly. Online documents have access to Baidu statistics, small partners can increase access, welcome everyone to let my data change better look some ~.

If you find errors, please correct them in the comment area, or you can add other common re in the comment area, and you can also raise new requirements ~

Method of use

Methods a

Install the warbler – js

npm i --save warbler-js
Copy the code

Then import whichever you want.

import { integerReg } from 'warbler-js'
const result = integerReg('4')
console.log(result) //=> true
Copy the code

Method 2

Copy the source code directly into your own projects.

Arguments and return values

parameter

Value (String) : indicates the character String to be verified.

The return value

Boolean: Indicates whether the Boolean is authenticated. True indicates whether the Boolean is authenticated. False indicates whether the Boolean is not authenticated.

Digital class

1. Integer (including 0)

Validates all integers, including 0, positive, and negative.

const integerReg = (value) = > {
  const reg = / ^ (0 | [1-9] [0-9] * | - [1-9] [0-9] *) $/;
  return reg.test(value);
};

const result1 = integerReg('0')
const result2 = integerReg('- 3')
const result3 = integerReg('4')
const result4 = integerReg('1.1')
const result5 = integerReg(A Warbler's Tail)

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // false
console.log(result5) // false
Copy the code

2. Integer (excluding 0)

Validates non-zero integers, including positive and negative integers.

const noZeroIntegerReg = (value) = > {
  const reg = / ^ ((1-9] [0-9] * | - [1-9] [0-9] *) $/;
  return reg.test(value);
};

const result1 = noZeroIntegerReg('0')
const result2 = noZeroIntegerReg('- 3')
const result3 = noZeroIntegerReg('4')
const result4 = noZeroIntegerReg('1.1')
const result5 = noZeroIntegerReg(A Warbler's Tail)

console.log(result1) // false
console.log(result2) // true
console.log(result3) // true
console.log(result4) // false
console.log(result5) // false
Copy the code

3. Positive integers (including 0)

Verify 0, positive integers.

const nonPositiveIntegerReg = (value) = > {
  const reg = / ^ (1-9] [\ | d * [0] {1, 1}) $/;
  return reg.test(value);
};

const result1 = nonPositiveIntegerReg('0')
const result2 = nonPositiveIntegerReg('- 3')
const result3 = nonPositiveIntegerReg('4')
const result4 = nonPositiveIntegerReg('1.1')
const result5 = nonPositiveIntegerReg(A Warbler's Tail)

console.log(result1) // true
console.log(result2) // false
console.log(result3) // true
console.log(result4) // false
console.log(result5) // false
Copy the code

4. Positive integers (excluding 0)

Validate positive integers.

const positiveIntegerReg = (value) = > {
  const reg = /^[1-9]\d*$/;
  return reg.test(value);
};

const result1 = positiveIntegerReg('0')
const result2 = positiveIntegerReg('- 3')
const result3 = positiveIntegerReg('4')
const result4 = positiveIntegerReg('1.1')
const result5 = positiveIntegerReg(A Warbler's Tail)

console.log(result1) // false
console.log(result2) // false
console.log(result3) // true
console.log(result4) // false
console.log(result5) // false
Copy the code

5. Negative integers (including 0)

Verify 0, negative integers.

const zeroNegativeIntegerReg = (value) = > {
  const reg = / ^ (- [1-9] \ | d * [0] {1, 1}) $/;
  return reg.test(value);
};

const result1 = zeroNegativeIntegerReg('0')
const result2 = zeroNegativeIntegerReg('- 3')
const result3 = zeroNegativeIntegerReg('4')
const result4 = zeroNegativeIntegerReg('1.1')
const result5 = zeroNegativeIntegerReg(A Warbler's Tail)

console.log(result1) // true
console.log(result2) // true
console.log(result3) // false
console.log(result4) // false
console.log(result5) // false
Copy the code

6. Negative integers (excluding 0)

Validates negative integers.

const negativeIntegerReg = (value) = > {
  const reg = /^-[1-9]\d*$/;
  return reg.test(value);
};

const result1 = negativeIntegerReg('0')
const result2 = negativeIntegerReg('- 3')
const result3 = negativeIntegerReg('4')
const result4 = negativeIntegerReg('1.1')
const result5 = negativeIntegerReg(A Warbler's Tail)

console.log(result1) // false
console.log(result2) // true
console.log(result3) // false
console.log(result4) // false
console.log(result5) // false
Copy the code

7. Monetary amount, negative numbers are supported

Validates the monetary amount, supporting negative numbers and thousandths of a separator.

const currencyReg = (value) = > {
  const reg = / ^ -? \ d + (\ d {3}) * (\. \ d {1, 2})? $/;
  return reg.test(value);
};
const result1 = currencyReg('0')
const result2 = currencyReg('- 3')
const result3 = currencyReg('3.99')
const result4 = currencyReg('12345678.90')
console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // true
Copy the code

8. Monetary amount

Validates the monetary amount. Only positive numbers are supported, and thousands of digit separators are not supported.

const moneyReg = (value) = > {
  const reg = / (? : ^ 1-9 [] ([0-9] +)? (? : \ [0-9] {1, 2})? ($) |? : ^ (? : $0)) | (? : ^ \. [0-9] [0-9] (? : [0-9])? $) /;
  return reg.test(value);
};
  const result1 = moneyReg('500')
  const result2 = moneyReg('- 3')
  const result3 = moneyReg('3.99')
  const result4 = moneyReg('12345678.90')
  console.log(result1) // true
  console.log(result2) // false
  console.log(result3) // true
  console.log(result4) // false
Copy the code

Number 9.

Verify numbers, including positive, negative, integer, decimal, and 0.

const numberReg = (value) = > {
  const reg = / ^ (\ | \ +)? \d+(\.\d+)? $/;
  return reg.test(value);
};

const result1 = numberReg('0')
const result2 = numberReg('3.3')
const result3 = numberReg('4.4')
const result4 = numberReg('3')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // true
Copy the code

Number class

1. China Mobile Number (simple)

Verify the mobile phone number, 11 digits, as long as it starts with 1, allow 0086, +86 prefix.

const easyTelReg = (value) = > {
  const reg = / ^ (? : (? : \ | + 00) 86)? 1\d{10}$/;
  return reg.test(value);
};

const result1 = easyTelReg('008617612340174')
const result2 = easyTelReg('+ 8617612340174')
const result3 = easyTelReg('17612340174')
const result4 = easyTelReg('176123401745')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // false
Copy the code

2. Chinese Mobile phone Number (complex)

Verify the mobile phone number. The 11-digit number must start with 13,14,15,16,17,18, and 19. The prefix 0086 and +86 are allowed.

const complexTelReg = (value) = > {
  const reg = / ^ (? : (? : \ | + 00) 86)? 1[3-9]\d{9}$/;
  return reg.test(value);
};

const result1 = complexTelReg('008617612340174')
const result2 = complexTelReg('+ 8617612340174')
const result3 = complexTelReg('19912340174')
const result4 = complexTelReg('12912340174')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // false
Copy the code

3. China Mobile Number (strict)

Verification mobile phone number, 11 digits, must be the latest mobile phone number segment released by the Ministry of Industry and Information Technology in 2019.

const strictTelReg = (value) = > {
  const reg = / ^ (? : (? : \ | + 00) 86)? 1 (? : (? :3[\d])|(? : 4] [5-79) | (? : 5 [0-35-9]) | (? : 6 [5-7]) | (? : 7-8 0) | (? :8[\d])|(? :9[189]))\d{8}$/;
  return reg.test(value);
};

const result1 = strictTelReg('008617612340174')
const result2 = strictTelReg('+ 8617612340174')
const result3 = strictTelReg('19912340174')
const result4 = strictTelReg('12912340174')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // false
Copy the code

4. Bank card number

Verify the bank card number, 10 to 30 digits, covering public and private accounts, refer to wechat Pay.

const bankReg = (value) = > {
  const reg = / ^ 1-9] [\ d {9, 29} $/;
  return reg.test(value);
};

const result1 = bankReg('6212262502009182455')

console.log(result1) // true
Copy the code

5. License plate Number (new energy)

License plate verification, new energy.

const newCarsReg = (value) = > {
  const reg = /^[a-hj-Np-z][a-hj-NP-z](? : ((\ d {5} [A - HJK]) | ([A - HJK] [A - HJ - NP - Z0-9] [0-9] {4})) | [A - HJ - NP - Z0-9] {4} [A - HJ - NP - Z0 - hang cop Hong Kong and Macao 9]) $/;
  return reg.test(value);
};

const result1 = newCarsReg('Beijing AD80234')
const result2 = newCarsReg('the liao D46234F')

console.log(result1) // true
console.log(result2) // true
Copy the code

6. License plate Number (non-new energy)

Check the license plate, not new energy.

const carsReg = (value) = > {
  const reg = /^[a-hJ-NP-z][A-hJ-NP-z0-9]{4}[A-hJ-NP-z0-9 hang student police Hong Kong ao]$/;
  return reg.test(value);
};

const result1 = carsReg('Beijing A00234')
const result2 = carsReg('black D46234')

console.log(result1) // true
console.log(result2) // true
Copy the code

7. License plate Number (full)

Verify license plate number, non-new energy + new energy.

const allCarsReg = (value) = > {
  const reg = /^[a-hj-np-z][a-hj-np-z0-9]{4,5}[a-hj-np-z0-9 hang student police Hong Kong ao]$/;
  return reg.test(value);
};

const result1 = allCarsReg('Beijing AD80234')
const result2 = allCarsReg('Beijing A00599')

console.log(result1) // true
console.log(result2) // true
Copy the code

Fixed 8.

Verify the domestic landline number.

const landlineReg = (value) = > {
  const reg = / ^ (? : (? :\d{3}-)? \d{8}|^(? :\d{4}-)? (\ d {7, 8})? :-\d+)? $/;
  return reg.test(value);
};

const result1 = landlineReg('0936-4211235')
const result2 = landlineReg('89076543')
const result3 = landlineReg('010-12345678-1234')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
Copy the code

9. Id Number (first generation)

First generation ID number, 15 digits, barely needed.

const idFirstReg = (value) = > {
  const reg = /^[1-9]\d{7}(? :0\d|10|11|12)(? :0[1-9]|[1-2][\d]|30|31)\d{3}$/;
  return reg.test(value);
};

const result1 = idFirstReg('123456991010193')
const result2 = idFirstReg('1234569910101934')

console.log(result1) // true
console.log(result2) // false
Copy the code

10. Id Number (second generation)

Verification second generation ID number, 18 digits, the last digit is the check bit, may be a number or character X.

const idSecondReg = (value) = > {
  const reg = /^[1-9]\d{5}(? :18|19|20)\d{2}(? : 0 [1-9] (| | | 10 11 12)? :0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/;
  return reg.test(value);
};

const result1 = idSecondReg('150404199803095215')
const result2 = idSecondReg('15040419980309521x')

console.log(result1) // true
console.log(result2) // true
Copy the code

11. Id Number (first and second generation)

Verify id number, support first generation ID card and second generation ID card.

const idReg = (value) = > {
  const reg = /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]| 1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30)) |((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/;
  return reg.test(value);
};

const result1 = idReg('123456991010193')
const result2 = idReg('15040419980309521x')

console.log(result1) // true
console.log(result2) // true
Copy the code

12. Id Number (Hong Kong)

Verify Hong Kong id number.

const idHongKongReg = (value) = > {
  const reg = /^[a-zA-Z]\d{6}\([\dA]\)$/;
  return reg.test(value);
};

const result1 = idHongKongReg('K034169(1)')

console.log(result1) // true
Copy the code

13. Id Number (Macau)

Verify Macao id number.

const idMacaoReg = (value) = > {
  const reg = /^[1|5|7]\d{6}[(\d)]{3}$/;
  return reg.test(value);
};

const result1 = idMacaoReg('5686611 (1)')

console.log(result1) // true
Copy the code

14. Id Number (Taiwan)

Verify Taiwan id number.

const idTaiwanReg = (value) = > {
  const reg = /^[a-zA-Z][0-9]{9}$/;
  return reg.test(value);
};

const result1 = idTaiwanReg('U193683453')

console.log(result1) // true
Copy the code

15. Passport

Verify passport, including Hong Kong and Macao.

const passportReg = (value) = > {
  const reg = /(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/;
  return reg.test(value);
};

const result1 = passportReg('s28233515')
const result2 = passportReg('MA1234567')

console.log(result1) // true
console.log(result2) // true
Copy the code

16. QQ number

Verify QQ number, 5-11 digits.

const qqReg = (value) = > {
  const reg = / ^ (1-9] [0-9] {4, 10} $/;
  return reg.test(value);
};

const result1 = qqReg('969800462')
const result2 = qqReg('1741847465')

console.log(result1) // true
console.log(result2) // true
Copy the code

17. WeChat ID

Verify wechat number. 6 to 20 characters, must start with a letter, allow letters, digits, minus signs, underscores.

const wechatReg = (value) = > {
  const reg = / ^ [a zA - Z] [- _a - zA - Z0-9] {5} 3 $/;
  return reg.test(value);
};

const result1 = wechatReg('duwanyu515')
const result2 = wechatReg('warbler_js')

console.log(result1) // true
console.log(result2) // true
Copy the code

18. Train numbers

Verify the train number, starting with GCDZTSPkxLY1-9.

const trainReg = (value) = > {
  const reg = / ^ [GCDZTSPKXLY1-9] \ d {1, 4} $/;
  return reg.test(value);
};

const result1 = trainReg('G1234')
const result2 = trainReg('A18')

console.log(result1) // true
console.log(result2) // false
Copy the code

19. Phone Body Code (IMEI)

Verify phone body code (IMEI), 16-18 digits.

const imeiReg = (value) = > {
  const reg = / ^ \ d {2} $/;
  return reg.test(value);
};

const result1 = imeiReg('12345678998765432')
const result2 = imeiReg('12345678998765432234')

console.log(result1) // true
console.log(result2) // false
Copy the code

20. Harmonized Social Credit Code (loose)

Verify the Universal Social credit code with 15/18/20 digits of numbers or letters.

const codsReg = (value) = > {
  const reg = /^(([0-9A-Za-z]{15})|([0-9A-Za-z]{18})|([0-9A-Za-z]{20}))$/;
  return reg.test(value);
};

const result1 = codsReg('9134052155323005XL')
const result2 = codsReg('91330526MA345BR13A')

console.log(result1) // true
console.log(result2) // true
Copy the code

21. Unified Social Credit Code (strict)

Verification of the unified social credit code shall comply with the Code Rules for the Unified Social Credit Code of Legal Persons and Other Organizations.

const strictCodsReg = (value) = > {
  const reg = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
  return reg.test(value);
};

const result1 = strictCodsReg('9134052155323005XL')
const result2 = strictCodsReg('91330526MA345BR13A')

console.log(result1) // true
console.log(result2) // true
Copy the code

Common form classes

1. Chinese names

Verify the name, pure Chinese, hyphen allowed.

const chineseNameReg = (value) = > {
  const reg = / ^ (? : [the] \ u4e00 - \ u9fa5 $/ dec {2});
  return reg.test(value);
};

const result1 = chineseNameReg('One Tail · Warbler')
const result2 = chineseNameReg('warbler')

console.log(result1) // true
console.log(result2) // false
Copy the code

2. English name

Verify name, English only, Spaces allowed.

const englishNameReg = (value) = > {
  const reg = / (^ [a zA - Z] [a zA - Z \ s] {0, 20} [a zA - Z] $) /;
  return reg.test(value);
};

const result1 = englishNameReg('One Tail · Warbler')
const result2 = englishNameReg('warbler')

console.log(result1) // false
console.log(result2) // true
Copy the code

3. Email

Verify the mailbox.

const emailReg = (value) = > {
  const reg = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,; : \ s @ "] +) *) | (" + ")) @ ((\ [[0-9] {1, 3} \. [0-9] {1, 3} \. [0-9] {1, 3} \. [0-9] {1, 3} \]) | ((\ [a zA - Z - 0-9] + \.) +[a-zA-Z]{2,}))$/;
  return reg.test(value);
};

const result1 = emailReg('[email protected]')
const result2 = emailReg('http://warbler.duwanyu.com/')

console.log(result1) // true
console.log(result2) // false
Copy the code

4. Chinese

Verify pure Chinese.

const chineseReg = (value) = > {
  const reg = / ^ (? :[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\u D86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD 86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/;
  return reg.test(value);
};

const result1 = chineseReg(A Warbler's Tail)
const result2 = chineseReg('warbler')

console.log(result1) // true
console.log(result2) // false
Copy the code

5. English

Verify pure English.

const englishReg = (value) = > {
  const reg = /^[a-zA-Z]+$/;
  return reg.test(value);
};

const result1 = englishReg(A Warbler's Tail)
const result2 = englishReg('Warbler')

console.log(result1) // false
console.log(result2) // true
Copy the code

6. Lowercase English

Verify lowercase English.

const lowercaseReg = (value) = > {
  const reg = /^[a-z]+$/;
  return reg.test(value);
};

const result1 = lowercaseReg('warbler')
const result2 = lowercaseReg('Warbler')

console.log(result1) // true
console.log(result2) // false
Copy the code

7. Capital English

Verify uppercase English.

const uppercaseReg = (value) = > {
  const reg = /^[A-Z]+$/;
  return reg.test(value);
};

const result1 = uppercaseReg('WARBLER')
const result2 = uppercaseReg('Warbler')

console.log(result1) // true
console.log(result2) // false
Copy the code

8. Numbers and letters

Validates numbers and letters. Supports numbers, letters, numbers, and letter combinations.

const nlReg = (value) = > {
  const reg = /^[A-Za-z0-9]+$/;
  return reg.test(value);
};

const result1 = nlReg('1')
const result2 = nlReg('aa')
const result3 = nlReg('3aa')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
Copy the code

9. Verify password strength

Verify the password strength. At least six characters, including at least one uppercase letter, one lowercase letter, one digit, and one special character.

const passwordReg = (value) = > {
  const reg = /^\S*(? =\S{6,})(? =\S*\d)(? =\S*[A-Z])(? =\S*[a-z])(? =\S*[!@#$%^&*? ] )\S*$/;
  return reg.test(value);
};

const result1 = passwordReg('asd12312321')
const result2 = passwordReg('Hzw! dasd15')

console.log(result1) // false
console.log(result2) // true
Copy the code

10. Verify user names

Verify the user name. 4 to 16 characters, allowing letters, digits, underscores, and subtractions.

const usernameReg = (value) = > {
  const reg = / ^ [a - zA - Z0 - _ - 9] $/ dec {4};
  return reg.test(value);
};

const result1 = usernameReg('warbler_js01')

console.log(result1) // true
Copy the code

11. Zip code

Verify Chinese zip code.

const postalReg = (value) = > {
  const reg = /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/;
  return reg.test(value);
};

const result1 = postalReg('734500')

console.log(result1) // true
Copy the code

12. Chinese and numbers

Verify Chinese and numbers, support Chinese, numbers, Chinese and number combination.

const ncReg = (value) = > {
  const reg = / ^ ((? :[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\u D86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD 86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])|(\d))+$/;
  return reg.test(value);
};

const result1 = ncReg('1')
const result2 = ncReg('Korea')
const result3 = ncReg('Korea 1')
const result4 = ncReg('Korea a')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // false
Copy the code

13. Cannot contain letters

Validation string, cannot contain letters.

const noLetterReg = (value) = > {
  const reg = /^[^A-Za-z]*$/;
  return reg.test(value);
};

const result1 = noLetterReg('A warbler! @ # ')
const result2 = noLetterReg('a')

console.log(result1) // true
console.log(result2) // false
Copy the code

14. Contains both numbers and letters

The authentication string must contain both numbers and English letters.

const nlBothReg = (value) = > {
  const reg = / ^ (? =.*[a-zA-Z])(? =.*\d).+$/;
  return reg.test(value);
};

const result1 = nlBothReg('1')
const result2 = nlBothReg('aa')
const result3 = nlBothReg('3aa')

console.log(result1) // false
console.log(result2) // false
console.log(result3) // true
Copy the code

15. Check whether the account is valid

Verify the account. It must start with a letter, allow 5-16 bytes, and allow alphanumeric and underscore combinations.

const accountReg = (value) = > {
  const reg = / ^ [a zA - Z] {4, 15} $\ w /;
  return reg.test(value);
};

const result1 = accountReg('hanzhiwei')
const result2 = accountReg('hanzhi_wei01')

console.log(result1) // true
console.log(result2) // true
Copy the code

16. Test Score (150 points)

Verification test score, default 150 points, others can be modified. Range 0-150, support decimal occurrence 0.5 minute.

const achievementReg = (value) = > {
  const reg = For $150, | / ^ ^ (? :\d|[1-9]\d|1[0-4]\d)(? : \. 5)? $/;
  return reg.test(value);
};

const result1 = achievementReg('0')
const result2 = achievementReg('140')
const result3 = achievementReg('145.5')
const result4 = achievementReg('151')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // false
Copy the code

Network class

1. The web site

Verify urls, support port numbers, and? The + argument and the #+ argument.

const urlReg = (value) = > {
  const reg = /^(((ht|f)tps?) : \ \ /)? [\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])? $/;
  return reg.test(value);
};

const result1 = urlReg('http://warblerjs.duwanyu.com')
const result2 = urlReg('https://warblerjs.duwanyu.com')
const result3 = urlReg('https://warblerjs.duwanyu.com:3000')
const result4 = urlReg('https://warblerjs.duwanyu.com?name=hzw&age=18')
const result5 = urlReg('https://warblerjs.duwanyu.com/#/name=hzw&age=18')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // true
console.log(result4) // true
console.log(result5) // true
Copy the code

2. The url must contain the port number

Verify the url, must have a port number, IP support.

const urlWithPortReg = (value) = > {
  const reg = /^((ht|f)tps? : \ \ /)? [/ w] + (\ [/ w] +) + : \ d {1, 5} \ /? $/;
  return reg.test(value);
};

const result1 = urlWithPortReg('http://warblerjs.duwanyu.com')
const result2 = urlWithPortReg('http://warblerjs.duwanyu.com:3000')
const result3 = urlWithPortReg('https://warblerjs.duwanyu.com:3000')

console.log(result1) // false
console.log(result2) // true
console.log(result3) // true
Copy the code

3. Subnet mask

Verify the decimal value of the subnet mask.

const subnetReg = (value) = > {
  const reg = / ^ (? D: \ \ d {1, 2} 1 \ | d | 2 \ [0-4] d | 25 ([0 to 5])? : \. (? : 1 \ \ d {1, 2} | d \ | 2 d \ [0-4] d | 25 [0-5])) {3} $/;
  return reg.test(value);
};

const result1 = subnetReg('255.255.255.0')
const result2 = subnetReg('255.211.0.0')

console.log(result1) // true
console.log(result2) // true
Copy the code

4.GUID/UUID

Verify the GUID/UUID, which is a universal unique identifier. Is a string that is 36 bytes long separated by four hyphens (-).

const uuidReg = (value) = > {
  const reg = /^[a-f\d]{4}(? :[a-f\d]{4}-){4}[a-f\d]{12}$/i;
  return reg.test(value);
};

const result1 = uuidReg('0842F912-3053-24A1-CE07-23610A13C565')
const result2 = uuidReg('30b18fc7-7e3a-451d-a09f-f15b338f91bd')

console.log(result1) // true
console.log(result2) // true
Copy the code

5. The version number

Verify the version number. The format must be X.Y.Z.

const editionReg = (value) = > {
  const reg = /^\d+(? :\.\d+){2}$/;
  return reg.test(value);
};

const result1 = editionReg('1.0.1')
const result2 = editionReg('13.4')

console.log(result1) // true
console.log(result2) // false
Copy the code

6. Video link address

Verify the video link address. The video format can be added or deleted as required and must contain HTTP or HTTPS.

const videoUrlReg = (value) = > {
  const reg = /^https? :\/\/(.+\/)+.+(\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4))$/i;
  return reg.test(value);
};

const result1 = videoUrlReg('http://warbler.duwanyu.com/wc.mp4')
const result2 = videoUrlReg('https://warbler.duwanyu.com/wc.mp4')
const result3 = videoUrlReg('warbler.duwanyu.com/wc.mp4')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // false
Copy the code

7. Picture link address

Verify the link address of the image. The image format can be added or deleted as required, and must contain HTTP or HTTPS.

const imgUrlReg = (value) = > {
  const reg = /^https? :\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i;
  return reg.test(value);
};

const result1 = imgUrlReg('http://warbler.duwanyu.com/wc.png')
const result2 = imgUrlReg('https://warbler.duwanyu.com/wc.png')
const result3 = imgUrlReg('warbler.duwanyu.com/wc.png')

console.log(result1) // true
console.log(result2) // true
console.log(result3) // false
Copy the code

8.24-hour system time

The verification time is in the format of HH: MM: SS in 24 hours.

const dateHmsReg = (value) = > {
  const reg = / ^ (? :[01]\d|2[0-3]):[0-5]\d:[0-5]\d$/;
  return reg.test(value);
};

const result1 = dateHmsReg('09:02:34')
const result2 = dateHmsReg('13:41:25')

console.log(result1) // true
console.log(result2) // true
Copy the code

9.12 hour system time

The verification time is in the format of HH: MM: SS in 12 hours.

const hmsReg = (value) = > {
  const reg = / ^ (? [0:1-2] | 0? [1-9]):[0-5]\d:[0-5]\d$/;
  return reg.test(value);
};

const result1 = hmsReg('09:02:34')
const result2 = hmsReg('13:41:25')

console.log(result1) // true
console.log(result2) // false
Copy the code

10. Base64 format

Verify base64 format.

const baseReg = (value) = > {
  const reg = /^\s*data:(? :[a-z]+\/[a-z0-9-+.]+(? :; [a-z-]+=[a-z0-9-]+)?) ? (? :; base64)? ,([a-z0-9!$&',()*+;=\-._~:@/?%\s]*?) \s*$/i;
  return reg.test(value);
};

const result1 = baseReg('data:image/gif; base64,xxxx==')
const result2 = baseReg('data:image/gif; base63,xxxx==')

console.log(result1) // true
console.log(result2) // false
Copy the code

11. The MAC address

Verify the MAC address.

const macReg = (value) = > {
  const reg = /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i;
  return reg.test(value);
};

const result1 = macReg('38:f9:d3:4b:f5:51')
const result2 = macReg('00-0C-18-CA-E4-55')

console.log(result1) // true
console.log(result2) // true
Copy the code

12.Hexadecimal Colors

Verify hexadecimal colors.

const colorReg = (value) = > {
  const reg = / ^ #? ([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
  return reg.test(value);
};

const result1 = colorReg('#fff')
const result2 = colorReg('# 000000')

console.log(result1) // true
console.log(result2) // true
Copy the code

13.ip-v4

Verify that IP-V4 allows ports to be carried.

const ipv4Reg = (value) = > {
  const reg = /^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.) {3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(? : : (? | : [0-9] [1-9] [0-9] {1, 3} | [1-5] [0-9] {4} | 6 [0 to 4] [0-9] {3} | 65 [0 to 4] [0-9] {2} | 655 [2-0] [0-9] | 6553) [0 to 5])? $/;
  return reg.test(value);
};

const result1 = ipv4Reg('127.16.0.0')
const result2 = ipv4Reg('127.0.0.1:8080')

console.log(result1) // true
console.log(result2) // false
Copy the code

14. Date – DD YYYY – MM

Verify the date in yyyY-MM-DD format.

const ymdReg = (value) = > {
  const reg = / ^ \ d {4}) (\ \ d {1, 2} \ \ d {1, 2} $1 /;
  return reg.test(value);
};

const result1 = ymdReg('the 2021-10-13 17:34:00')
const result2 = ymdReg('2021-10-13')

console.log(result1) // false
console.log(result2) // true
Copy the code

15. Date YYYY-MM-DD hh: MM: SS

Verify the date in the format yyyY-MM-DD hh: MM: SS.

const ymdhmsReg = (value) = > {
  const reg = / ^ (\ d {1, 4}) (-) | \ / (\ d {1, 2}) \ 2 (\ d {1, 2}) (\ d {1, 2}) : (\ d {1, 2}) : (\ d {1, 2}) $/;
  return reg.test(value);
};

const result1 = ymdhmsReg('the 2021-10-13 17:34:00')
const result2 = ymdhmsReg('13:41:25')

console.log(result1) // true
console.log(result2) // false
Copy the code

Write in the last

All see here, feel helpful to you of small partners please click a like to support, please collect my online documents, more access.

👉👉 Online documentation

👉👉 source code address

This is my other open source website, used to collect urls, built-in many default sites, thank you friends to support ~

👉👉 streamer bookmark

reference

Regular daqo