{"id":13872,"date":"2021-08-15T04:28:32","date_gmt":"2021-08-15T04:28:32","guid":{"rendered":"https:\/\/freehost.page\/?p=13872"},"modified":"2021-08-15T04:28:32","modified_gmt":"2021-08-15T04:28:32","slug":"ngay-thang-nam-regular-expression","status":"publish","type":"post","link":"https:\/\/kiencang.net\/ngay-thang-nam-regular-expression\/","title":{"rendered":"L\u1ecd m\u1ecd vi\u1ebft c\u00e1i m\u00e3 chu\u1ea9n h\u00f3a ng\u00e0y th\u00e1ng n\u0103m \u0111\u1ebfn kh\u1ed5, h\u00f3a ra d\u00f9ng m\u1ed9t d\u00f2ng Regular Expression l\u00e0 xong!"},"content":{"rendered":"\n
V\u00e0o \u0111\u1ec1 lu\u00f4n anh ch\u1ecb em \u1ea1, n\u00f3 l\u00e0 c\u00e1i d\u00f2ng n\u00e0y:<\/p>\n\n\n\n
\\b(0?[1-9]|[12]\\d|3[01])[\\\/\\-.](0?[1-9]|[12]\\d|3[01])[\\\/\\-.](\\d{2}|\\d{4})\\b<\/code><\/pre>\n\n\n\nX\u1eed l\u00fd tu\u1ed1t ch\u1ec9 nh\u1edd m\u1ed9t d\u00f2ng tr\u00ean m\u00e0 th\u00f4i, n\u00f3 s\u1ebd b\u1eaft \u0111\u1ee7 c\u00e1c d\u1ea1ng ng\u00e0y th\u00e1ng n\u0103m th\u01b0\u1eddng d\u00f9ng:<\/p>\n\n\n\n
- 2 k\u00fd t\u1ef1 \u0111\u1ea7u b\u1eaft bu\u1ed9c l\u00e0 s\u1ed1, 2 k\u00fd t\u1ef1 ti\u1ebfp c\u0169ng b\u1eaft bu\u1ed9c l\u00e0 s\u1ed1, c\u00e1c k\u00fd t\u1ef1 n\u0103m c\u00f3 th\u1ec3 l\u00e0 2 s\u1ed1 ho\u1eb7c 4 s\u1ed1;<\/li>
- kh\u00f4ng cho ph\u00e9p ch\u1eef c\u00e1i, k\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ebft trong chu\u1ed7i. Ch\u1ec9 c\u00f3 s\u1ed1 m\u00e0 th\u00f4i;<\/li>
- ng\u00e0y, th\u00e1ng n\u0103m c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c ph\u00e2n c\u00e1ch b\u1eb1ng \/ ho\u1eb7c – ho\u1eb7c d\u1ea5u .<\/li>
- 2 k\u00fd t\u1ef1 \u0111\u1ea7u c\u00f3 th\u1ec3 l\u00e0 ng\u00e0y ho\u1eb7c th\u00e1ng, 2 k\u00fd t\u1ef1 ti\u1ebfp theo c\u00f3 th\u1ec3 l\u00e0 th\u00e1ng ho\u1eb7c ng\u00e0y \u0111\u1ec3 kh\u1edbp \u0111\u01b0\u1ee3c v\u1edbi c\u1ea3 hai ki\u1ec3u dd\/mm v\u00e0 mm\/dd<\/li>
- c\u00e1c gi\u00e1 tr\u1ecb s\u1ed1 ch\u1ec9 ng\u00e0y ch\u1ec9 \u0111\u01b0\u1ee3c ph\u00e9p n\u1eb1m trong kho\u1ea3ng t\u1eeb 0 cho \u0111\u1ebfn 31;<\/li><\/ul>\n\n\n\n
Quay l\u1ea1i nh\u00ecn \u0111\u1ed1ng m\u00e3 PHP x\u1eed l\u00fd th\u1ee7 c\u00f4ng ng\u00e0y th\u00e1ng n\u0103m \u1edf b\u00e0i n\u00e0y<\/a> m\u00e0 ph\u00e1t s\u1ee3!<\/p>\n\n\n\nBi\u1ec3u th\u1ee9c ch\u00ednh quy tr\u00ean s\u1ebd gi\u00fap ta b\u1eaft \u0111\u01b0\u1ee3c c\u00e1c ng\u00e0y th\u00e1ng n\u0103m ki\u1ec3u nh\u01b0 d\u01b0\u1edbi \u0111\u00e2y:<\/p>\n\n\n\n
- 12-02-2015<\/li>
- 5-6-2017<\/li>
- 3\/05\/2018<\/li>
- 12\/24\/2019<\/li>
- 1.1.2018<\/li>
- 7-9-18<\/li>
- 1.31.2018<\/li><\/ul>\n\n\n\n
V\u00e0 b\u1ecf qua c\u00e1c d\u1eef li\u1ec7u ki\u1ec3u n\u00e0y:<\/p>\n\n\n\n
- 12s3\/2\/123<\/li>
- 13\/a\/3346<\/li>
- 32\/05\/2018<\/li>
- 11\/08\/203<\/li>
- 52\/53\/2018<\/li><\/ul>\n\n\n\n
\u0110\u1ea5y, c\u00e1c b\u1ea1n th\u1ea5y s\u1ee9c m\u1ea1nh c\u1ee7a RegExp ch\u01b0a? <\/p>\n\n\n\n
\u0110\u1ed1i v\u1edbi gi\u00e1 tr\u1ecb n\u0103m m\u00e0 ch\u00fang ta bi\u1ebft tr\u01b0\u1edbc kho\u1ea3ng gi\u00e1 tr\u1ecb h\u1ee3p l\u1ec7 th\u00ec b\u1ea1n th\u1eadm ch\u00ed c\u00f2n c\u00f3 th\u1ec3 c\u1ea3i ti\u1ebfn \u0111o\u1ea1n m\u00e3 tr\u00ean. V\u00ed d\u1ee5 n\u1ebfu \u0111\u00f3 l\u00e0 n\u0103m c\u1ee7a ng\u01b0\u1eddi s\u1ed1ng, th\u00ec gi\u00e1 tr\u1ecb \u0111\u00f3 kh\u00f4ng th\u1ec3 nh\u1ecf h\u01a1n 1900, v\u00e0 t\u1ea5t nhi\u00ean kh\u00f4ng th\u1ec3 l\u1edbn h\u01a1n 2100. Tr\u01b0\u1eddng h\u1ee3p v\u1eady ch\u00fang ta c\u00f3 th\u1ec3 ch\u1ec9nh m\u00e3 tr\u00ean th\u00e0nh nh\u01b0 sau:<\/p>\n\n\n\n
\\b(0?[1-9]|[12]\\d|3[01])[\\\/\\-.](0?[1-9]|[12]\\d|3[01])[\\\/\\-.](\\d{2}|19\\d{2}|20\\d{2})\\b<\/code><\/pre>\n\n\n\nKhi \u0111\u00f3 c\u00e1c d\u1eef li\u1ec7u nh\u01b0:<\/p>\n\n\n\n
- 1.31.1899<\/li>
- 12\/05\/2100<\/li>
- 02-05-1000<\/li><\/ul>\n\n\n\n
S\u1ebd b\u1ecb b\u1ecf qua, v\u00ec c\u00e1c n\u0103m n\u00e0y n\u1eb1m ngo\u00e0i kho\u1ea3ng gi\u00e1 tr\u1ecb cho ph\u00e9p.<\/p>\n\n\n\n
Tr\u01b0\u1eddng h\u1ee3p b\u1ea1n bi\u1ebft c\u1ee5 th\u1ec3 h\u01a1n n\u1eefa, ch\u1eb3ng h\u1ea1n n\u0103m ch\u1ec9 n\u1eb1m trong kho\u1ea3ng t\u1eeb 2005 \u0111\u1ebfn 2015 m\u1edbi h\u1ee3p l\u1ec7, th\u00ec c\u00e2u l\u1ec7nh s\u1ebd th\u00e0nh th\u1ebf n\u00e0y:<\/p>\n\n\n\n
\\b(0?[1-9]|[12]\\d|3[01])[\\\/\\-.](0?[1-9]|[12]\\d|3[01])[\\\/\\-.](\\d{2}|200[5-9]|201[0-5])\\b<\/code><\/pre>\n\n\n\nN\u00f3i chung RegExp m\u1edbi \u0111\u1ea7u nh\u00ecn r\u1ea5t l\u00e0 qu\u00e1i d\u1ecb, nh\u01b0ng b\u1ea1n c\u1ee9 t\u1eadp d\u1ea7n r\u1ed3i s\u1ebd quen. M\u1ed9t b\u00e0i vi\u1ebft hay v\u1ec1 ch\u1ee7 \u0111\u1ec3 n\u00e0y do t\u00e1c gi\u1ea3 Chung Minh T\u00fa vi\u1ebft<\/a> v\u00e0 b\u1ea1n r\u1ea5t n\u00ean d\u00f9ng website regex101.com<\/a> \u0111\u1ec3 th\u1ef1c h\u00e0nh, v\u00ec n\u00f3 r\u1ea5t tr\u1ef1c quan, g\u00f5 l\u1ec7nh th\u1ea5y k\u1ebft qu\u1ea3 ngay, h\u1ecdc ti\u1ebfn b\u1ed9 nhanh l\u1eafm.<\/p>\n\n\n\n