Regular expression (hope to help you)


Many friends who don’t understand regular rules often search the Internet for a long time when they need to use regular check data, but the results they find still do not meet the requirements. So I recently sorted out some regular expressions commonly used in development, including check digits, characters, some special requirements, and so on. Keep it for yourself and as a reference for your friends.

1. The expression of the check digit

Digits: ^[0-9]*$
Digits of n digits: ^\d{n}$
Digits of at least n digits: ^\d{n,}$
Digits of mn digits: ^\d{m,n}$
Zero and non-zero leading numbers: ^(0|[1-9][0-9]*)$
Non-zero leading numbers with up to two decimal places: ^([1-9][0-9]* )+(.[0-9]{1,2})?$
A positive or negative number with 1-2 decimal places: ^(\-)?\d+(\.\d{1,2})?$
Positive, negative, and decimal numbers: ^(\-|\+)?\d+(\.\d+)?$
Positive real numbers with two decimal places: ^[0-9]+(.[0-9]{ 2})?$
Positive real numbers with 1~3 decimal places: ^[0-9]+(.[0-9]{1,3})?$
Non-zero positive integers: ^[1-9]\ d*$ or ^([1-9][0-9]*){1,3}$ or ^\+?[1-9][0-9]*$
Non-zero negative integer: ^\- [1-9][]0-9″*$ or ^-[1-9]\d*$
non-negative integer: ^\d+$ or ^[1-9]\d*|0$
non-positive integer: ^-[1-9]\d*|0$ or ^((-\d+)|(0+))$
Non-negative floating point number: ^\d+(\.\d+)?$ or ^[1-9 ]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
non-positive floating point number: ^((-\d+(\.\d+ )?)|(0+(\.0+)?))$ or ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d* ))|0?\.0+|0$
Positive float: ^[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]*))$
Negative float: ^-([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]*)))$
float: ^(-?\d+)(\.\d+) ?$ or ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
Second, check character expression

Chinese characters: ^[\u4e00-\u9fa5]{0,}$
English and numbers: ^[A-Za-z0-9]+$ or ^[A-Za-z0-9]{4,40}
$ All characters from 3-20: ^.{3,20}$
A string consisting of 26 English letters: ^[A-Za-z]+$ A
string consisting of 26 uppercase English letters: ^[AZ] +$
A string consisting of 26 lowercase English letters: ^[az]+$
A string consisting of numbers and 26 English letters: ^[A-Za-z0-9]+$
consisting of numbers, 26 English letters Or a string composed of underscores: ^\w+$ or ^\w{3,20}$
Chinese, English, numbers including underscores: ^[\u4E00-\u9FA5A-Za-z0-9_]+$
Chinese, English, numbers But not including underscores and other symbols: ^[\u4E00-\u9FA5A-Za-z0-9]+$ or ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
can be entered with ^%& ',;=?$\" and other characters: [^%&',;=?$\x22]+
prohibit the input of characters containing ~: [^~\x22]+
3. Special demand expression

Email address: ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
Domain name: [a-zA-Z0 -9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL: [a-zA-z]+://[^\s]* or ^http://([\w-]+\.)+[\w-]+(/[\w-./ ?%&=]*)?$
Mobile number: ^(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}$
PhoneNumber("XXX-XXXXXXX","XXXX-XXXXXXXX","XXX-XXXXXXX","XXX- XXXXXXXX", "XXXXXXX" and "XXXXXXXX): ^($$\d{3,4}-)|\d{3.4}-)?\d{7,8}$
Domestic phone numbers (0511-4405222, 021 -87888822):\d{3}-\d{8}|\d{4}-\d{7}
ID number (15 digits, 18 digits): ^\d{15}|\d{18 }$
Short ID number (number, letter x ending): ^([0-9]){7,18}(x|X)?$ or ^\d{8,18}|[0-9x]{ 8,18}|[0-9X]{8,18}?$ Is
the account number legal (begins with letters, allows 5-16 bytes, and allows alphanumeric underscores): ^[a-zA-Z][a-zA- Z0-9_]{4,15}$
Password (starting with a letter, length between 6~18, can only contain letters, numbers and underscores): ^[a-zA-Z]\w{5,17}$
Strong password (must contain a combination of uppercase and lowercase letters and numbers, no special characters, length between 8-10): ^(?=.*\d)(?=.*[az])(?=.* [AZ]).{8,10}$
Date format: ^\d{4}-\d{1,2}-\d{1,2}
12 months of a year (01~09 and 1~12 ): ^(0?[1-9]|1[0-2])$
31 days of a month (01~09 and 1~31): ^((0?[1-9])|((1 |2)[0-9])|30|31)$
input format:

There are four representations of money we can accept: "10000.00" and "10,000.00", and "10000" and "10,000" without "cents": ^[1-9][0-9]*$
This means either A number that does not start with 0, however, this also means that a character "0" does not pass, so we take the following form: ^(0|[1-9][0-9]*)$
A 0 or a not Numbers that start with 0. We can also allow a negative sign at the beginning: ^(0|-?[1-9][0-9]*)$
This means a 0 or a possibly negative leading non-zero Number. Let the user start with 0. Remove the negative sign, because money can't be negative. What we want to add next is to explain the possible fractional part: ^[0-9]+(.[0- 9]+)?$
It must be noted that there should be at least 1 digit after the decimal point, so "10." is not passed, but "10" and "10.2" are passed: ^[0-9]+( .[0-9]{2})?$
In this way, we stipulate that there must be two digits after the decimal point. If you think it is too harsh, you can do this: ^[0-9]+(.[0-9]{1,2 })?$
This allows the user to write only one decimal place. Now it's time to consider commas in numbers, we can do this: ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2}) ?$
1 to 3 digits followed by any comma + 3 digits, the comma becomes optional, not required: ^([0-9]+|[0-9]{1,3}(,[0 -9]{3})*)(.[0-9]{1,2})?$
Note: This is the final result, don't forget that "+" can be replaced with "*". If you think the empty string is acceptable (weird, why?) Finally, don't forget to remove the backslash when using the function, the general error is here in the
xml file: ^([a-zA-Z] +-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
Regular expression for Chinese characters: [\u4e00-\u9fa5]
Double-byte characters: [^\x00-\xff] (including Chinese characters, can be used to calculate the length of the string (a double-byte character length counts 2 , ASCII characters count 1))
Regular expression for blank lines: \n\s*\r (can be used to delete blank lines)
Regular expression for HTML tags: <(\S*?)[^>]*>. *?</\1>|<.*? /> (The version circulating on the Internet is too bad, the above is only a part, and it is still powerless for complex nested tags)
Regular expression for whitespace characters at the beginning and end: ^\s* |\s*$ or (^\s*)|(\s*$) (can be used to remove whitespace characters at the beginning and end of a line (including spaces, tabs, form feeds, etc.), very useful expressions formula)
Tencent QQ number: [1-9][0-9]{4,} (Tencent QQ number starts from 10000)
China Postal Code: [1-9]\d{5}(?!\d) (China ZIP code is 6 digits)
IP address: \d+\.\d+\.\d+\.\d+ (useful when extracting IP address)

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324600946&siteId=291194637