Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to use regular expressions to match various special characters

2025-01-14 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/02 Report--

Today, I will talk to you about how to use regular expressions to match all kinds of special characters, which may not be well understood by many people. in order to make you understand better, the editor has summarized the following for you. I hope you can get something from this article.

Write a regular expression that matches all kinds of special characters

(? = [\ x21 -\ x7e] +) [^ A-Za-z0-9]) x21 -\ x7e] +) [^ A-Za-z0-9])

This matches all non-alphabetic and numeric symbols visible on the keyboard

Var patrn = / [`~! @ # $% ^ & * () _\-+ =?: "{} |,.\ /;'\ [\] ~! @ # ¥%. & * ()-- + = {} |"? ":" [],;',.], / im; if (! patrn.test (str)) {/ / return false return false;} return true if it contains special characters

This is the input box to prevent special characters from being validated, including the English and Chinese status of all special characters on the keyboard. Those who need it can decide according to their own needs! Thank you!

[^\ w\ s] +

Match non-empty, non-alphabetic, non-numeric

1 number: ^ [0-9] * $

2 n-digit number: ^\ d {n} $

3 at least n digits: ^\ d {n,} $

The number of 4 mmurn digits: ^\ d {mcentine n} $

5 numbers starting with zero and non-zero: ^ (0 | [1-9] [0-9] *) $

6 A number with up to two decimal places beginning with a non-zero: ^ ([1-9] [0-9] *) + (. [0-9] {1J 2})? $

7 positive or negative numbers with 1-2 decimal places: ^ (\ -)?\ d + (\.\ d {1Magne2})? $

8 positive, negative, and decimal: ^ (\-|\ +)?\ d + (\.\ d +)? $

9 A positive real number with two decimal places: ^ [0-9] + (. [0-9] {2})? $

10 A positive real number with 1 to 3 decimal places: ^ [0-9] + (. [0-9] {1Jue 3})? $

11 non-zero positive integers: ^ [1-9]\ During $or ^ ([1-9] [0-9] *) {1 ~ (3)} $or ^\ +? [1-9] [0-9] * $

12 non-zero negative integers: ^\-[1-9] [] 0-9 "* $or ^-[1-9]\ $

13 non-negative integers: ^\ DX $or ^ [1-9]\ d* | 0 $

14 non-positive integer: ^-[1-9]\ d* | 0$ or ^ ((-\ d+) | (0 +)) $

15 non-negative floating point numbers: ^\ d + (\.\ d +)? $or ^ [1-9]\ d *.\ d * | 0.\ d * [1-9]\ d * | 0?\ .0 + | 0 $

16 non-positive floating point number: ^ ((-\ d + (\.\ d +)?) | (0 + (\ .0 +)?)) $or ^ (- ([1-9]\ d *\.\ d * | 0.\ d * [1-9]\ d *)) | 0?\ .0 + | 0 $

17 positive floating point number: ^ [1-9]\ d *\.\ d * | 0\.\ d * [1-9]\ d * or ^ (([0-9] +. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] *. [0-9] +) | ([0-9] * [1-9] [0-9] *) $

18 negative floating point numbers: ^-([1-9]\ d *\.\ d * | 0\.\ d * [1-9]\ d *) $or ^ (0-9) +. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] *. [0-9] +) | ([0-9] * [1-9] [0-9] *)) $

19 floating point number: ^ (-?\ d +) (\.\ d +)? $or ^ -? ([1-9]\ d *.\ d * | 0.\ d * [1-9]\ d * | 0?\ .0 + | 0) $

Second, the expression of check characters

1 Chinese character: ^ [\ u4e00 -\ u9fa5] {0,} $

2 English and numbers: ^ [A-Za-z0-9] + $or ^ [A-Za-z0-9] {4jue 40} $

3 all characters with a length of 3-20: ^. {3pm 20} $

4 A string of 26 letters: ^ [A-Za-z] + $

5 A string of 26 uppercase letters: ^ [Amurz] + $

6 A string of 26 lowercase letters: ^ [amurz] + $

7 A string of numbers and 26 letters: ^ [A-Za-z0-9] + $

8 A string of numbers, 26 letters, or underscores: ^\ w {3pm 20} $or ^\ w

9 Chinese, English, numbers including underscore: ^ [\ u4E00 -\ u9FA5A-Za-z0-9] + $

10 symbols in Chinese, English, numbers but excluding underscores: ^ [\ u4E00 -\ u9FA5A-Za-z0-9] + $or ^ [\ u4E00 -\ u9FA5A-Za-z0-9] {2heroin 20} $

11 you can enter characters such as ^% &',; =? $\ ": [^% &',; =? $\ x22] +

12 prohibited from entering characters containing ~: [^ ~\ x22] +

III. Expression of special requirements

1 Email address: ^\ w + ([- +.]\ w +) * @\ w + ([-.]\ w +) *.\ w + ([-.]\ w +) * $

A. Custom perfect mailbox verification: (java)

^ ([^ ()\\ [\]\,;:\\ s@\ "] + (\\ .[ ^ ()\ [\]\]\. :\\ s @\ "] +) *) | (\". +\ ") @ (\\ [[0-9] {1 a-zA-Z 3}\\. [0-9] {1 a-zA-Z 3}\. [0-9] {1 # 3}\. [0-9] {1 # 3}]) $)

B, (js or jq)

^ ([^ ()\ [\]\.;:\ s @ "] + (\. [^ ()\ [\]\. :\ s @ "] +) *) @ (\ [[0-9] {1 a-zA-Z 3}\. [0-9] {1 a-zA-Z 3}\. [0-9] {1 recorder 3}\. [0-9] {1 Magne3}]) | ([0-0-9] +\.) + [a-zA-Z] {2,}) $))

Domain name: [a-zA-Z0-9] [- a-zA-Z0-9] {0a-zA-Z0 62} (/. [a-zA-Z0-9] [- a-zA-Z0-9] {0jue 62}) + /.?

3 InternetURL: [a-zA-z] +: / / [^\ s] * or ^ http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

4 the latest mobile phone number:

^ ((13 [0-9])) | (14 [5jue 7]) | (15 [0-3 recorder 5-9]) | (17 [0-9])) | (18 [0-9]) | (18 [0-9]) | 166 | 198 | 199 | (147))\\ d {8} $(java) ^ (13 [0-9]) | (14 [0-9]) | (15 [0-3)) | (15 [0-3) | (17 [0-3) | (18 [0-9]) | (18 [0-9]) | 16698 | 1999199 | (147)\ d {8} $(js or jq)

5 phone numbers ("XXX-XXXXXXX", "XXXX-XXXXXXXX", "XXX-XXXXXXX", "XXX-"

XXXXXXXX "," XXXXXXX "and" XXXXXXXX): ^ (\ (\ d {3pr 4} -) |\ d {3.4} -)?\ d {7Jet 8} $

6 domestic telephone number (0511-4405222, 021-87888822):\ d {3} -\ d {8} |\ d {4} -\ d {7}

7 ID number (15 digits, 18 digits): ^\ d {15} |\ d {18} $

8 short ID card number (ending with a number and letter x): ^ ([0-9]) {7Magne 18} (x | X)? $or ^\ d {8jue 18} | [0-9x] {8pr 18} | [0-9X] {8jue 18}? $

9 whether the account is legal (at the beginning of the letter, 5-16 bytes are allowed, and alphanumeric underscores are allowed): ^ [a-zA-Z] [a-zA-Z0-9 _] {4j 15} $

10 password (begins with a letter, is between 6 and 18 in length, and can only contain letters, numbers and underscores): ^ [a-zA-Z]\ w {5je 17} $

Strong 11 passwords (must contain a combination of uppercase and lowercase letters and numbers, cannot use special characters, length between 8 and 10): ^ (? =. *\ d) (? =. * [Amurz]) (? =. * [Amurz]). {8jue 10} $

12 date format: ^\ d {4} -\ d {1pr 2} -\ d {1pc2}

13 12 months of the year (01 / 09 and 01 / 12): ^ (0? [1-9] | 1 [0-2]) $

14 31 days of a month (01 / 09 and 01 / 31): ^ (0? [1-9]) | (1 | 2) [0-9]) | 30 | 31) $

The input format of 15 money:

16 1. There are four forms of money we can accept: "10000.00" and "10000.00", and "10000" and "10000" without "points": ^ [1-9] [0-9] * $

17 2. This means any number that does not start with 0, but it also means that a character "0" does not pass, so we take the following form: ^ (0 | [1-9] [0-9] *) $

18 3. A 0 or a number that does not start with 0. We can also allow a negative sign at the beginning: ^ (0 | -? [1-9] [0-9] *) $

19 4. This represents a 0 or a number that may be negative and begins with a non-zero. Let the user start with 0. Get rid of the negative sign, too, because the money can't be negative. What we want to add next is the possible decimal part: ^ [0-9] + (. [0-9] +)? $

20 5. It must be noted that there should be at least 1 digit after the decimal point, so "10." No, but "10" and "10.2" are passed: ^ [0-9] + (. [0-9] {2})? $

21 6. In this way, we stipulate that there must be two digits after the decimal point. If you think it is too harsh, you can go like this: ^ [0-9] + (. [0-9] {1mem2})? $

22 7. This allows the user to write only one decimal place. Now it's time for us to consider the comma in the number. We can go like this: ^ [0-9] {1 # 3} (, [0-9] {3}) * (. [0-9] {1 # 2})? $

23 8.1 to 3 digits, followed by any comma + 3 digits, the comma becomes optional instead of having to: ^ ([0-9] + | [0-9] {1 ~ 3} (, [0-9] {3}) *) (. [0-9] {1 ~ 2})? $

24 Note: this is the end result. Don't forget that "+" can be replaced with "*" if you think an empty string is acceptable (strange, why?) Finally, don't forget to remove the backslash when using the function. The usual mistakes are here.

25 xml file: ^ ([a-zA-Z] + -?) + [a-zA-Z0-9] +\. [X | X] [m | M] [l | L] $

26 regular expressions for Chinese characters: [\ u4e00 -\ u9fa5]

27 double-byte characters: [^\ X00 -\ xff] (including Chinese characters, can be used to calculate the length of a string (a double-byte character length meter 2))

28 regular expression for blank lines:\ n\ s*\ r (can be used to delete blank lines)

29 regular expression of HTML tags:] * >. *? | (the version circulated on the Internet is too bad, the above one is only partial, and there is nothing I can do about complex nested tags.)

30 regular expressions for white space characters: ^\ s* |\ sblank $or (^\ s*) | (\ sblank $) (which can be used to delete white space characters at the beginning and end of a line (including spaces, tabs, page feeds, etc.), a very useful expression)

31 Tencent QQ number: [1-9] [0-9] {4,} (Tencent QQ number starts from 10000)

32 China Postal Code: [1-9]\ d {5} (?!\ d) (China Postal Code is 6 digits) 33 IP address:\ d +\.\ d +\.\ d + (useful when extracting IP address) 34 IP address: (?: (?) 25 [0-5] | 2 [0-4]\ d | [01]?\ d?\ d)\.) {3} (?: 25 [0-5]) 5] | 2 [0-4]\\ d | [01]?\ d?\ d))

A regular expression can be a null value, otherwise it should be formatted.

The format is as follows:

^ $| ^ (\ d+ |\ -) {7,} $("|") followed by the format. )

If the space that can be empty can be spaces and tabs, then write it like this: ^\ sblank $| ^ (\ d+ |\ -) {7,} $

Regular expressions are not empty\ S matches, there can be no spaces to match with [^], in [] ^ is followed by a space.

[size=12px] 1 . ^ DX $/ / matches a non-negative integer (positive integer + 0)

two. ^ [0-9] * [1-9] [0-9] * $/ / match positive integers

three. ^ ((- d +) | (0 +)) $/ / matches a non-positive integer (negative integer + 0)

four. ^-[0-9] * [1-9] [0-9] * $/ / match negative integers

five. ^ -? matching $/ / matching integer

six. ^ d + (.d +)? $/ / matches non-negative floating point numbers (positive floating point numbers + 0)

seven. ^ (([0-9] +. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] *. [0-9] +) | ([0-9] * [1-9] [0-9] *)) $/ / matches positive floating point numbers

eight. ^ (- d + (.d +)?) | (0 + (.0 +)) $/ / matches non-positive floating point numbers (negative floating point numbers + 0)

nine. ^ (- ([0-9] +. [0-9] * [1-9] [0-9] *) | ([0-9] * [1-9] [0-9] *. [0-9] +) | ([0-9] * [1-9] [0-9] *)) $/ / matches negative floating point numbers

ten. ^ (-? d +) (.d +)? $/ / match floating point number

eleven. ^ [A-Za-z] + $/ / matches a string of 26 English letters

twelve. ^ [Amurz] + $/ / matches a string of 26 English letters in uppercase

thirteen. ^ [amurz] + $/ / matches a string of 26 lowercase letters

fourteen. ^ [A-Za-z0-9] + $/ / matches a string of numbers and 26 letters

fifteen. ^ wrist $/ / matches a string consisting of numbers, 26 letters, or underscores

sixteen. ^ [W -] + (. [W -] +) * @ [w -] + (. [W -] +) + $/ / matches the email address

seventeen. ^ [a-zA-z] +: / / match (w + (- w +) *) (. (W + (- w +) *)) * (? S*)? $/ / match url

eighteen. Regular expression that matches Chinese characters: [u4e00-u9fa5]

nineteen. Match double-byte characters (including Chinese characters): [^ x00-xff]

twenty. Application: calculates the length of a string (a double-byte character length meter 2 ~ ASCII character counter 1)

String.prototype.len=function () {return this.replace ([^ x00-xff] / g, "aa") .length;}

twenty-one. Regular expression that matches blank lines: n [s |] * r

twenty-two. Regular expression that matches the HTML tag: /. * | /

twenty-three. Regular expression that matches leading and trailing spaces: (^ s*) | (sworn $)

* regular expression use case

* 1. ^ S+ [amurz Amurz] $cannot be blank, can not have spaces, can only be English letters

* 2. S {6,} cannot be empty of more than six digits

* 3, ^ dashes $cannot have spaces and cannot be non-numeric

* 4. (. *) (.jpg | .bmp) $can only be in jpg and bmp formats

* 5. ^ d {4}-d {1pm 2}-d {1pm 2} $can only be in 2004-10-22 format.

* 6, ^ 0$ at least one item

* 7, ^ 0 {2,} $choose at least two items

* 8. ^ [s | S] {20,} $cannot be empty of more than 20 words

* 9, ^ +? [a-z0-9] (([- +.] | [_] +)? [a-z0-9] +) * @ ([a-z0-9] + (. | -)) + [a-z0] {2mi 6} $email

* 10. W + ([- +.] w +) * @ w + ([-.] w +) * .w + ([-.] w +) * ([,;] sroomw + ([- +.] w +) * @ w + ([-.] w +) * .w + ([-.] w +) *) * enter multiple addresses to separate messages with commas or spaces

* 11, ^ (([0-9] +))? [0-9] {7pm 8} $phone number 7 or 8 digits or preceded by an area code such as (022) 87341628

* 12, ^ [amurz Amurz Z 0-9 _] + @ [amurz Amurz Z 0-9 _] + (. [Amurz Amurz Z 0-9 _] +) + (, [amurz Amurz Z 0-9 _] + @ [amurz Amurz Z 0-9 _] + (. [Amurz Amurz Z 0-9 _] +) +) *

* can only be letters, numbers, underscores; must have @ and. At the same time, the format of mail should be standardized.

The above expression can also be written like this, which is more concise.

14 ^ w + ((- w +) | (.w +)) * @ w + ((. | -) w +) * .wang $[/ size]

After reading the above, do you have any further understanding of how to use regular expressions to match various special characters? If you want to know more knowledge or related content, please follow the industry information channel, thank you for your support.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report