validateXG.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /**
  2. * 移动电话号码验证
  3. * @param str
  4. * @returns {boolean}
  5. */
  6. export function isMobile (str) {
  7. const mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(19[0-9]{1}))+\d{8})$/
  8. return mobile.test(str)
  9. }
  10. /**
  11. * 固定电话号码验证
  12. * @param str
  13. * @returns {boolean}
  14. */
  15. export function isPhone (str) {
  16. const phone = /(^(\d{3,4}-)?\d{6,8}$)|(^(\d{3,4}-)?\d{6,8}(-\d{1,5})?$)/
  17. return phone.test(str)
  18. }
  19. /**
  20. * 固定电话或移动电话号码验证
  21. * @param str
  22. * @returns {boolean}
  23. */
  24. export function isPhoneOrMobile (str) {
  25. const phone = /(^(\d{3,4}-)?\d{6,8}$)|(^(\d{3,4}-)?\d{6,8}(-\d{1,5})?$)|(^(((13[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(18[0-9]{1})|(17[0-9]{1})|(19[0-9]{1}))+\d{8})$)/
  26. return phone.test(str)
  27. }
  28. /**
  29. * 开户行账号验证
  30. * 开户行账号只能为数字、长度限定为1到20位之间
  31. * @param str
  32. * @returns {boolean}
  33. */
  34. export function isBankNumber (str) {
  35. // const bankNumber = /^([1-9]{1})(\d{15}|\d{18})$/
  36. const bankNumber = /^[1-9]\d{0,25}$/
  37. return bankNumber.test(str)
  38. }
  39. /**
  40. * 联系人联系方式验证
  41. * 联系人联系方式只能为数字,长度限定为20
  42. * @param str
  43. * @returns {boolean}
  44. */
  45. export function isLinkMobile (str) {
  46. const linkMobile = /^[0-9]\d{19}$/
  47. return linkMobile.test(str)
  48. }
  49. /**
  50. * 银行卡号验证
  51. * 银行卡号:12位 16位 17 18 19
  52. * @param str
  53. * @returns {boolean}
  54. */
  55. export function isBankNum (str) {
  56. const bankNumber = /^([1-9]{1})(\d{11}|\d{15}|\d{16}|\d{17}|\d{18})$/
  57. return bankNumber.test(str)
  58. }
  59. /**
  60. * 邮箱验证
  61. * @param str
  62. * @returns {boolean}
  63. */
  64. export function isEmail (str) {
  65. const email = /^((https|http|ftp|rtsp|mms)?:\/\/)?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-z_!~*'()-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+\/?)$/
  66. return email.test(str)
  67. }
  68. export default {isMobile, isPhone, isBankNumber, isLinkMobile, isBankNum, isPhoneOrMobile, isEmail}