Regular expressions that can write less than 1000 lines of code

Source: Internet
Author: User
Regular expressions, a very old and powerful text processing tool, can quickly implement a very complex business logic by simply using a very short expression statement. Know these 20 regular expressions, can let you write less 1000 lines of code, this article and we share can write less than 1000 lines of code of regular expression method, hope to help everyone.

Mastering regular expressions skillfully can make your development efficiency greatly improved.

Regular expressions are often used for validation of fields or arbitrary strings, such as the following snippet of JavaScript code that verifies the basic date format:

var reg =/^ (\\d{1,4}) (-|\\/) (\\d{1,2}) \\2 (\\d{1,2}) $/;var r = Fieldvalue.match (reg);  if (r==null) alert (' Date format error! ');

Here are the 20 regular expressions used frequently in front-end development:

1. Verify Password strength
The strength of the password must be a combination of uppercase and lowercase letters and numbers, no special characters, and a length of 8-10.


Copy the Code code as follows:

^ (? =.*\\d) (? =.*[a-z]) (? =.*[a-z]). {8,10}$

2. Verifying Chinese
The string can only be in Chinese.


Copy the Code code as follows:

^[\\u4e00-\\u9fa5]{0,}$


3. A string of numbers, 26 English letters, or underscores

^\\w+$

4. Verify the e-mail address
As with the password, here is the regular check statement for e-mail address compliance.


Copy the Code code as follows:

[\\w!#$%& ' *+/=?^_ ' {|} ~-]+(?:\ \. [\\w!#$%& ' *+/=?^_ ' {|} ~-]+) *@ (?: [\\w] (?: [\\w-]*[\\w])? \ \.) +[\\w] (?: [\\w-]*[\\w])?

5. Check the ID number
The following is a regular check of the ID number. 15 or 18 bits.

15-bit:

Copy the Code code as follows:

^[1-9]\\d{7} ((0\\d) | ( 1[0-2]) (([0|1|2]\\d) |3[0-1]) \\d{3}$

18-bit:

Copy the Code code as follows:

^[1-9]\\d{5}[1-9]\\d{3} ((0\\d) | ( 1[0-2]) (([0|1|2]\\d) |3[0-1]) \\d{3} ([0-9]| X) $

6. Check the date
Date checksum in "YYYY-MM-DD" format, which has been considered for a flat leap year.


Copy the Code code as follows:

^(?:(?! 0000) [0-9]{4}-(?:(?: 0 [1-9]|1[0-2])-(?: 0 [1-9]|1[0-9]|2[0-8]) | (?: 0 [13-9]|1[0-2])-(?: 29|30) | (?: 0 [13578]|1[02])-31) | (?: [0-9]{2} (?: 0 [48]| [2468] [048]| [13579] [26]) | (?: 0 [48]| [2468] [048]| [13579] [26]) 00)-02-29) $

7. Check the amount
The amount of the check, accurate to 2 decimal places.

^[0-9]+ (. [ 0-9]{2})? $

8. Check the phone number
The following is the domestic mobile phone number 13, 15, 18, the regular expression.


Copy the Code code as follows:

^ (13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8| 9]|18[0|1|2|3|5|6|7|8| 9]) \\d{8}$

9. Determine the version of IE
IE has not been completely replaced, many pages still need to do version compatibility, the following is the version of IE to check the expression.


Copy the Code code as follows:

^.*msie [5-8] (?: \ \. [0-9]+]? (?!. *trident\\/[5-9]\\.0). *$

10. Verifying the IP-V4 Address
IP4 the regular statement.


Copy the Code code as follows:

\\b (?:(? : 25[0-5]|2[0-4][0-9]| [01]? [0-9] [0-9]?) \\.) {3} (?: 25[0-5]|2[0-4][0-9]| [01]? [0-9] [0-9]?) \\b

11. Verifying the IP-V6 Address
IP6 the regular statement.


Copy the Code code as follows:

(([0-9a-fa-f]{1,4}:) {7,7}[0-9a-fa-f]{1,4}| ( [0-9a-fa-f] {1,4}:) {1,7}:| ([0-9a-fa-f]{1,4}:) {1,6}:[0-9a-fa-f]{1,4}| ( [0-9a-fa-f] {1,4}:) {1,5} (: [0-9a-fa-f]{1,4}) {1,2}| ([0-9a-fa-f]{1,4}:) {1,4} (: [0-9a-fa-f]{1,4}) {1,3}| ( [0-9a-fa-f] {1,4}:) {1,3} (: [0-9a-fa-f]{1,4}) {1,4}| ([0-9a-fa-f]{1,4}:) {] (: [0-9a-fa-f]{1,4}) {1,5}|[ 0-9a-fa-f]{1,4}:((: [0-9a-fa-f]{1,4}) {1,6}) |:( (: [0-9a-fa-f]{1,4}) {1,7}|:) | FE80: (: [0-9a-fa-f]{0,4}) {0,4}%[0-9a-za-z]{1,}|::(FFFF (: 0{1,4}) {0,1}:) {0,1} ((25[0-5]| ( 2[0-4]|1{0,1}[0-9]) {0,1}[0-9]) \ \.) {3,3} (25[0-5]| (2[0-4]|1{0,1}[0-9]) {0,1} [0-9]) | ([0-9a-fa-f]{1,4}:) {1,4}:((25[0-5]| ( 2[0-4]|1{0,1}[0-9]) {0,1}[0-9]) \ \.) {3,3} (25[0-5]| (2[0-4]|1{0,1}[0-9]) {0,1} [0-9]))

12. Check the prefix of the URL
Many times in application development need to distinguish between the request is HTTPS or HTTP, the following expression can be taken out of a URL prefix and then logical judgment.

if (!s.match (/^[a-za-z]+:\\/\\//)) {s = ' http:/' + S;}

13. Extracting URL Links
The following expression can filter out URLs in a text.


Copy the Code code as follows:

^ (F|HT) {1} (TP|TPS): \\/\\/([\\w-]+\\.) +[\\w-]+ (\\/[\\w-./?%&=]*)?

14. File paths and extended schools
Verify file path and extension


Copy the Code code as follows:

([a-za-z]\\:|\\\\) \\\\ ([^\\\\]+\\\\) *[^\\/:*? " <>|] +\\.txt (l)? $

15. Extract the color Hex Codes
Sometimes you need to extract the color code from the Web page, and you can use the following expression.

\\# ([a-fa-f]| [0-9]) {3,6}

16. Extract Web Images
If you want to extract all the image information from a webpage, you can use the following expression.


Copy the Code code as follows:

\\< *[IMG][^\\>]*[SRC] *= *[\\ "\ \"]{0,1} ([^\\] \ \ \ >]*)

17. Extract Page Hyperlinks
Extracts hyperlinks in HTML.


Copy the Code code as follows:

(<;a\\s* (?!. *\\brel=) [^>;] *) (href= "https?:/ /)((?! (?:(?: www\\.)? '. Implode (' | (?: www\\.)? ', $follow _list)) [^"]+)"((?!. *\\brel=) [^>;] *) (?: [^>;] *) >

18. Refine CSS
The following expression allows you to search the CSS for the same property value to achieve the purpose of refining the code.


Copy the Code code as follows:

^\\s*[a-za-z\\-]+\\s*[:]{1}\\s[a-za-z0-9\\s.#]+[;] {1}

19. Extracting annotations
If you need to remove a comment from HMTL, you can use the following expression.

<!--(. *?) -

20. Matching HTML tags
The following expression can be used to match the label in the HTML.


Copy the Code code as follows:

</?\\w+ (\\s+\\w+ (?: ". *?". *?'| [\\^ ' ">\\s]+)") +\\s*|\\s*)/?>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.