🏠
Working from home
React - Next.js - Remix
- TailwindCSS - MUI
- React Aria
- React Hook Form
- React Query
- Chart.js
- Ho Chi Minh, Vietnam
- https://tanlearntodev.blogspot.com
- in/duytanpl
Pinned Loading
-
clothing-shop
clothing-shop PublicA Master Project building with React - E-Commerce Clothing Website - https://tanpld.github.io/clothing-shop/#/
JavaScript 1
-
-
Password regex
Password regex 1/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z])(?=.*[*.!@$%^&(){}[\]\:\;\<\>\,\.\?\/\~\_\+\-\=\|\\]).{8,32}$/gm
23At least one digit [0-9]
4At least one lowercase character [a-z]
5At least one uppercase character [A-Z]
-
maskString.js
maskString.js 1const maskedFirst4Char = (value: string): string => {
2return value.replace(/.(?=.{4})/g, '*');
3}
45const maskPhoneNumber = (phone: string): string => {
-
YearSelect.tsx
YearSelect.tsx 1import { ChevronLeftIcon, ChevronRightIcon } from "@heroicons/react/24/solid";
2import clsx from "clsx";
3import { useState, useMemo } from "react";
45interface YearCalendarProps {
-
Responsive + Persistent Drawer + App...
Responsive + Persistent Drawer + AppBar Layout - React Component MaterialUI 1import React, { useState, useEffect } from "react";
2import {
3makeStyles,
4Theme,
5createStyles,
Something went wrong, please refresh the page to try again.
If the problem persists, check the GitHub status page or contact support.
If the problem persists, check the GitHub status page or contact support.