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 @@ +
{ if (valid) {