58

1. The expression of the check digit

Number: ^[0-9]*$

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

A number with at least n digits: ^\d{n,}$

mn-digit number: ^\d{m,n}$

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

Numbers starting with non-zero and up to two decimal places: ^([1-9][0-9]*)+(.[0-9]{1,2})?$

Positive or negative number with 1-2 decimal places: ^(\-)?\d+(\.\d{1,2})?$

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

Positive real number 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 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)$

Two, the expression of the check character

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

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

All characters with a length of 3-20: ^.{3,20}$

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

A string consisting of 26 uppercase English letters: ^[A-Z]+$

A string consisting of 26 lowercase English letters: ^[a-z]+$

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

A string consisting of numbers, 26 English letters or underscores: ^\w+$ or ^\w{3,20}

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

Chinese, English, numbers but not including underscore and other symbols: ^[\u4E00-\u9FA5A-Za-z0-9]+$ or ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

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

It is forbidden to enter characters containing ~ [^~\x22]+

other
.*匹配除 \n 以外的任何字符。

/[\u4E00-\u9FA5]/ 汉字

/[\uFF00-\uFFFF]/ 全角符号

/[\u0000-\u00FF]/ 半角符号

Three, special demand expressions

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}$

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 number is legal (beginning with a letter, allowing 5-16 bytes, allowing alphanumeric underscores): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$

^[a-zA-Z]\w{5,17}$ , and can only contain letters, numbers and underscores): 060b4dde014f34

Strong password (must contain a combination of uppercase and lowercase letters and numbers, special characters cannot be used, and the length is between 8-10): ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{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)$

Money 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 any number that does not start with 0, but it 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 start with 0. We can also allow a negative sign at the beginning: ^(0|-?[1-9][0-9]*)$

4. This means a 0 or a possibly negative number that does not start with 0. Let the user start with 0. Remove the negative sign as well, because money can't be negative. What we want to add below is an explanation Possible decimal 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 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, the comma becomes optional, not mandatory: ^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

备注:这就是最终结果了,别忘了+可以用*替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里

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

Regular expression of 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 counts as 2, ASCII character counts as 1))

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

Regular expression of HTML markup: <(\S*?)[^>]*>.*?</\1>|<.*? /> (The version circulating on the Internet is too bad, and the above one can only partially , Still can't do anything for complex nested tags)

Regular expression of the first and last blank characters: ^\s*|\s*$ or (^\s*)|(\s*$) (can be used to delete blank characters at the beginning and end of a line (including spaces, tabs) Characters, form feed characters, etc.), very useful expressions)

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

Chinese postal code: [1-9]\d{5}(?!\d) (Chinese postal code 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))

IP-v4 address: \\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 (Extract (Useful for IP address)

Verify IP-v6 address:
(([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}:){1,2}(:[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]))

Subnet mask: ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

Calibration date: ^(?:(?!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)$(Date verification in "yyyy-mm-dd" format, flat leap years have been considered.)

Extract notes: <!--(.*?)-->

Find the CSS property: ^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}

Extract page hyperlink: (<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^" rel="external nofollow" ]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>

Extract webpage pictures: \\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)

Extract web color code: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

File extension validation: ^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$

Determine the IE version: ^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$

Schedule:

If errors are found after verification, please correct me in the message area!

Author: ZhaoYingChao88
zyc88.blog.csdn.net/article/details/98479629


民工哥
26.4k 声望56.7k 粉丝

10多年IT职场老司机的经验分享,坚持自学一路从技术小白成长为互联网企业信息技术部门的负责人。2019/2020/2021年度 思否Top Writer