From 577f342fa9c296a3fbfd71a9ad31e5d36138ff66 Mon Sep 17 00:00:00 2001
From: wj <1285151836@qq.com>
Date: Wed, 17 May 2023 15:44:36 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 10 +++--
src/utils/validate.js | 83 +++++++++++++++++++++++++++++++++++
src/views/components/Tags.vue | 2 +-
src/views/home/index.vue | 1 +
src/views/login/index.vue | 2 +-
5 files changed, 92 insertions(+), 6 deletions(-)
create mode 100644 src/utils/validate.js
diff --git a/package.json b/package.json
index ec9f319..44cb03a 100644
--- a/package.json
+++ b/package.json
@@ -14,15 +14,17 @@
"babel-polyfill": "^6.26.0",
"clipboard": "^2.0.8",
"element-china-area-data": "^5.0.2",
- "element-ui": "^2.15.7",
+ "element-ui": "^2.15.13",
"file-saver": "^2.0.2",
+ "fuse.js": "6.4.3",
"js-cookie": "^2.2.0",
"mockjs": "^1.0.1-beta3",
- "sass": "^1.32.8",
"nprogress": "^0.2.0",
"pinyin": "^2.10.2",
+ "sass": "^1.32.8",
+ "screenfull": "^5.0.2",
"useless-files-webpack-plugin": "^1.0.1",
- "vue": "2.5.16",
+ "vue": "2.6.12",
"vue-clipboard2": "^0.3.3",
"vue-router": "^3.0.1",
"vue2-verify": "^1.1.5",
@@ -39,7 +41,7 @@
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.0.1",
"sass-loader": "^8.0.2",
- "vue-template-compiler": "2.5.16"
+ "vue-template-compiler": "2.6.12"
},
"browserslist": [
"> 1%",
diff --git a/src/utils/validate.js b/src/utils/validate.js
new file mode 100644
index 0000000..adfa254
--- /dev/null
+++ b/src/utils/validate.js
@@ -0,0 +1,83 @@
+/**
+ * @param {string} path
+ * @returns {Boolean}
+ */
+export function isExternal(path) {
+ return /^(https?:|mailto:|tel:)/.test(path)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validUsername(str) {
+ const valid_map = ['admin', 'editor']
+ return valid_map.indexOf(str.trim()) >= 0
+}
+
+/**
+ * @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)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validLowerCase(str) {
+ const reg = /^[a-z]+$/
+ return reg.test(str)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validUpperCase(str) {
+ const reg = /^[A-Z]+$/
+ return reg.test(str)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validAlphabets(str) {
+ const reg = /^[A-Za-z]+$/
+ return reg.test(str)
+}
+
+/**
+ * @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)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function isString(str) {
+ if (typeof str === 'string' || str instanceof String) {
+ return true
+ }
+ return false
+}
+
+/**
+ * @param {Array} arg
+ * @returns {Boolean}
+ */
+export function isArray(arg) {
+ if (typeof Array.isArray === 'undefined') {
+ return Object.prototype.toString.call(arg) === '[object Array]'
+ }
+ return Array.isArray(arg)
+}
diff --git a/src/views/components/Tags.vue b/src/views/components/Tags.vue
index 9c88777..cd75ca6 100644
--- a/src/views/components/Tags.vue
+++ b/src/views/components/Tags.vue
@@ -162,7 +162,7 @@ export default {
.tags-li.active {
color: #ffffff;
- background: #6495ed;
+ background: #409EFF;
}
.tags-li-title {
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 79734b0..4ee20e8 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -132,6 +132,7 @@
+