Bladeren bron

feat: add some validate functions

Casper Dai 3 jaren geleden
bovenliggende
commit
7355b1152c
2 gewijzigde bestanden met toevoegingen van 9 en 19 verwijderingen
  1. 3 17
      src/utils/validate.js
  2. 6 2
      src/views/basic/profile/index.vue

+ 3 - 17
src/utils/validate.js

@@ -1,25 +1,11 @@
-/**
- * @param {string} path
- * @returns {Boolean}
- */
 export function isExternal (path) {
   return /^(https?:|mailto:|tel:)/.test(path)
 }
 
-/**
- * @param {string} url
- * @returns {Boolean}
- */
-export function validURL (url) {
-  const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
-  return reg.test(url)
+export function validPhone (phone) {
+  return /^([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(phone)
 }
 
-/**
- * @param {string} email
- * @returns {Boolean}
- */
 export function validEmail (email) {
-  const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
-  return reg.test(email)
+  return /^([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(email)
 }

+ 6 - 2
src/views/basic/profile/index.vue

@@ -108,6 +108,10 @@ import {
   updateUser,
   getTicket
 } from '@/api/user'
+import {
+  validPhone,
+  validEmail
+} from '@/utils/validate'
 
 export default {
   name: 'Profile',
@@ -226,7 +230,7 @@ export default {
         this.resetAttribute('phone')
         return
       }
-      if (!(/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(this.phone))) {
+      if (!validPhone(this.phone)) {
         this.$message({
           type: 'warning',
           message: '手机号格式错误'
@@ -245,7 +249,7 @@ export default {
         this.resetProp('email')
         return
       }
-      if (!(/^([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test(this.email))) {
+      if (!validEmail(this.email)) {
         this.$message({
           type: 'warning',
           message: '邮箱格式错误'