validateXG.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. * 开户行账号只能为数字、长度限定为15-18位之间
  31. * @param str
  32. * @returns {boolean}
  33. */
  34. export function isBankNumber (str) {
  35. const bankNumber = /^([1-9]{1})(\d{15}|\d{18})$/
  36. return bankNumber.test(str)
  37. }
  38. /**
  39. * 联系人联系方式验证
  40. * 联系人联系方式只能为数字,长度限定为20
  41. * @param str
  42. * @returns {boolean}
  43. */
  44. export function isLinkMobile (str) {
  45. const linkMobile = /^[0-9]\d{19}$/
  46. return linkMobile.test(str)
  47. }
  48. /**
  49. * 银行卡号验证
  50. * 银行卡号:12位 16位 17 18 19
  51. * @param str
  52. * @returns {boolean}
  53. */
  54. export function isBankNum (str) {
  55. const bankNumber = /^([1-9]{1})(\d{11}|\d{15}|\d{16}|\d{17}|\d{18})$/
  56. return bankNumber.test(str)
  57. }
  58. /**
  59. * 邮箱验证
  60. * @param str
  61. * @returns {boolean}
  62. */
  63. export function isEmail (str) {
  64. 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_!~*'().;?:@&=+$,%#-]+)+\/?)$/
  65. return email.test(str)
  66. }
  67. export default {isMobile, isPhone, isBankNumber, isLinkMobile, isBankNum, isPhoneOrMobile, isEmail}