Many friends who don't know the rules regularly often look for a long time on the Internet when they need to use regular check data. The results are not very satisfactory. So I recently put together some regular expressions commonly used in development, including checking numbers, characters, some special requirements, and so on. Give yourself a bottom and give your friends a reference.
First, the expression of the check digit
Number: ^[0-9]*$
n digit number: ^d{n}$
At least n digits: ^d{n,}$
Number of mn bits: ^d{m,n}$
Numbers starting at zero and non-zero: ^(0|[1-9][0-9]*)$
A number with a maximum of two decimals at the beginning of non-zero: ^([1-9][0-9]*)+(.[0-9]{1,2})?$
Positive or negative numbers with 1-2 decimal places: ^(-)?d+(.d{1,2})?$
Positive, negative, and decimal: ^(-|+)?d+(.d+)?$
Positive real number with two decimals: ^[0-9]+(.[0-9]{2})?$
Positive real number with 1~3 decimal places: ^[0-9]+(.[0-9]{1,3})?$
A non-zero positive integer: ^[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 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]*))$
Negative 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]*)))$
Floating point number: ^(-?d+)(.d+)?$ or ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0 )$
Second, the expression of the check character
Chinese characters: ^[一-龥]{0,}$
English and numbers: ^[A-Za-z0-9]+$ or ^[A-Za-z0-9]{4,40}$
All characters from 3-20 in length: ^.{3,20}$
A string of 26 English letters: ^[A-Za-z]+$
A string of 26 uppercase English letters: ^[AZ]+$
A string of 26 lowercase English letters: ^[az]+$
A string consisting of numbers and 26 English letters: ^[A-Za-z0-9]+$
A string consisting of a number, 26 English letters, or an underscore: ^w+$ or ^w{3,20}$
Chinese, English, and numbers include underscores: ^[一-龥A-Za-z0-9_]+$
Chinese, English, numbers but not including underscores: ^[一-龥A-Za-z0-9]+$ or ^[一-龥A-Za-z0-9]{2,20}$
You can enter characters such as ^%&',;=?$": [^%&',;=?$"]+
It is forbidden to enter characters with ~: [^~"]+
Third, special needs 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 phone 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}$
Phone number ("XXX-XXXXXXX", "XXXX-XXXXXXXX", "XXX-XXXXXXX", "XXX-XXXXXXXX", "XXXXXXX" and "XXXXXXXX": ^($$d{3,4}-)|d{ 3.4}-)?d{7,8}$
Domestic telephone number (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}?$
Whether the account is legal (starting with a letter, allowing 5-16 bytes, allowing alphanumeric underscores): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
Password (starting with a letter, length between 6 and 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 the year (01 to 09 and 1 to 12): ^(0?[1-9]|1[0-2])$
31 days of a month (01 to 09 and 1 to 31): ^((0?[1-9])|((1|2)[0-9])|30|31)$
Money input format:
There are four forms of money that we can accept: "10000.00" and "10,000.00", and "10000" and "10,000" without "minutes": ^[1-9][0-9]*$
This means any number that does not begin with 0, but this also means that a character "0" does not pass, so we use the following form: ^(0|[1-9][0-9]*)$
A 0 or a number that does not begin with 0. We can also allow a minus sign at the beginning: ^(0|-?[1-9][0-9]*)$
This means a 0 or a number that may be negative and not 0 at the beginning. Let the user start with 0. The negative number is also removed, because the money can't be negative. Let's add the explanation below. Fractional part: ^[0-9]+(.[0-9]+)?$
It must be noted that there should be at least one digit after the decimal point, so "10." is not passed, but "10" and "10.2" are passed: ^[0-9]+(.[0-9] {2})?$
So we have two points 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. Below we should consider the comma in the number, 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, commas are optional, not mandatory: ^([0-9]+|[0-9]{1,3}(,[0-9 ]{3})*)(.[0-9]{1,2})?$
Note: This is the end result, don't forget that "+" can be replaced with "*". If you think the empty string is acceptable (strange, why?) Finally, don't forget to remove the backslash when using the function. The general error is here.
Xml file: ^([a-zA-Z]+-?)+[a-zA-Z0-9]+.[x|X][m|M][l|L]$
Regular expression for Chinese characters: [一-龥]
Double-byte characters: [^-ÿ] (including Chinese characters, can be used to calculate the length of a string (a double-byte character length 2, ASCII character 1)
Regular expression for blank lines: s* (can be used to delete blank lines)
Regular expression for HTML tags: <(S*?)[^>]*>.*? > |<.*? /> (The version that is circulated on the Internet is too bad, the above is only partially, and there is still no way for complex nested tags)
Regular expression for the leading and trailing whitespace characters: ^s*|s*$ or (^s*)|(s*$) (can be used to remove whitespace characters at the end of the first line of the line (including spaces, tabs, page breaks) Etc.), very useful expression)
Tencent QQ number: [1-9][0-9]{4,} (Tencent QQ number starts from 10000)
China Postcode: [1-9]d{5}(?!d) (China Postcode is 6 digits)
IP address: d+.d+.d+.d+ (useful when extracting IP address)
IP address: ((?:(?:25[0-5]|2[0-4]d|[01]?d?d).){3}(?:25[0-5]|2[ 0-4]d|[01]?d?d)) (provided by @飞龙三少, thanks for sharing)
400W Carbon Fiber Heater,Carbon Fibre Patio Heater,Carbon Fibre Room Heater,Carbon Fibre Radiant Heater
Foshan Shunde Josintech Electrical Appliance Technology Co.,Ltd , https://www.josintech.com