You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.7 KiB

  1. function verificationPhone(countryCode,phoneNumber) {
  2. switch (countryCode) {
  3. case '+86':
  4. return verificationChina(phoneNumber);
  5. case '+1':
  6. return verificationAmerica(phoneNumber);
  7. case '+65':
  8. return verificationSingapore(phoneNumber);
  9. case '+60':
  10. return verificationMalaysia(phoneNumber);
  11. case '+66':
  12. return verificationThailand(phoneNumber);
  13. case '+852':
  14. return verificationHongKong(phoneNumber);
  15. case '+84':
  16. return verificationVietnam(phoneNumber);
  17. default:
  18. return true;
  19. }
  20. }
  21. function verificationChina(phoneNumber){
  22. const phoneRegex = /^1[3-9]\d{9}$/;
  23. return phoneRegex.test(phoneNumber);
  24. }
  25. function verificationAmerica(phoneNumber){
  26. const phoneRegex = /^[2-9]\d{2}[- ]?\d{4}$/;
  27. return phoneRegex.test(phoneNumber);
  28. }
  29. function verificationSingapore(phoneNumber){
  30. const phoneRegex = /^[89]\d{7}$/;
  31. return phoneRegex.test(phoneNumber);
  32. }
  33. function verificationMalaysia(phoneNumber){
  34. const phoneRegex = /^01\d{8}$/;
  35. return phoneRegex.test(phoneNumber);
  36. }
  37. function verificationHongKong(phoneNumber){
  38. const phoneRegex = /^0[896]\d{8}$/;
  39. return phoneRegex.test(phoneNumber);
  40. }
  41. function verificationThailand(phoneNumber){
  42. const phoneRegex = /^[5-9]\d{7}$/;
  43. return phoneRegex.test(phoneNumber);
  44. }
  45. function verificationVietnam(phoneNumber){
  46. const phoneRegex = /^(0)?[3-9]\d{8}$/;
  47. return phoneRegex.test(phoneNumber);
  48. }
  49. function verificationEmail(email) {
  50. const emailRegex = /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/;
  51. return emailRegex.test(email);
  52. }
  53. export {verificationPhone,verificationEmail}