首页
关于
留言
友联
壁纸
统计
Search
1
python 爬虫
89 阅读
2
nas内网穿透
81 阅读
3
jenkins docker 部署 前端
73 阅读
4
VUE codemirror插件 设置回显对象
67 阅读
5
js前端密码校验
60 阅读
默认分类
前端
后端
其他
登录
Search
标签搜索
python
React
Django
爬虫
css
2c
累计撰写
19
篇文章
累计收到
12
条评论
首页
栏目
默认分类
前端
后端
其他
页面
关于
留言
友联
壁纸
统计
搜索到
19
篇与
的结果
2023-01-09
IP批量格式化处理vue
最近遇到个IP批量格式化的功能,废话不说 开始上代码首先输入框输入 大量IP 用户会输入各种恶心变态的 中文的 逗号 句号 反正就是各种符号我们要先处理一下formIp() { // console.log(this.formData.ip); // 非数字和点的字符变成逗号 let str = this.formData.ip.replace(/[^\d.\-\/]/gi, ","); // console.log(str); // 把ip截取成数组 let ipArr = str.split(","); // console.log(ipArr); this.ipArr = ipArr; //验证IP和IP段 this.ipformData(); },接下来验证IP或IP段是否 正确 // ip一键格式化 ipformData() { //提交创建状态(可以删除,我的项目用到了) this.formIP = true; this.charIp = []; let ip = []; let errorIp = []; this.ipArr.forEach((item) => { // console.log(item); // 判断ip不是空 if (item != "") { // 先判断是否是正常的ip 如果不是 判断是否是IP段 if (this.isValidIP(item)) { // 如果是正常IP添加到数组 ip.push(item); } else { // 不是正常IP验证是否是IP段 // console.log(this.isValidIPs(item)); if (this.isValidIPs(item)) { // 如果是IP段添加数组 ip.push(item); } else { // 不是IP段添加到错误的IP数组 errorIp.push(item); } } } else { } }); // console.log(errorIp); // console.log(ip); this.processingIp = ip; this.errorIp = errorIp; // 如果有错误IP显示错误提示 if (errorIp.length > 0) { this.ipState = true; //这个换行 是结果放在头部 提醒用户 IP不正确 errorIp.push("\n"); errorIp.push("\n"); } else { this.ipState = false; } //每隔一行换行 ip.forEach((item, index) => { this.charIp.push(item + "," + "\n"); }); if (errorIp.length > 0) { this.charIp.unshift(errorIp); } // console.log(this.charIp.join("")); var reg = /,$/gi; this.formData.ip = this.charIp .join("") .replace(reg, "") .replace(/,/g, ""); // console.log(this.formData.ip); }, 然后就是IP和IP段的校验 // IP正则 isValidIP(ip) { var reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; return reg.test(ip); }, // IP段正则(可以是-也可以是/) isValidIPs(ip) { var reg = /^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\/|\-([1-9]|[1-2]\d|3[0-2])$/; return reg.test(ip); },
2023年01月09日
47 阅读
0 评论
0 点赞
2022-11-24
js 本地搜索(多条件)+本地分页
let arr = [{ name: "q1121", age: 12, address: "辽宁大连1" }, { name: "q44", age: 12, address: "辽宁大连4" }, { name: "q55", age: 12, address: "辽宁大连5" }, { name: "q222", age: 13, address: "辽宁大连2" }, { name: "q332", age: 12, address: "辽宁沈阳1" } ]; //筛选条件 let filter = { name: "", age: 12, address: "辽宁", }; //拿到有值的参数 let tempFilter = {}; for(key in filter) { if(typeof(filter[key]) != "undefined" && typeof(filter[key]) != "null" && filter[key] != null && filter[key] != "") { tempFilter[key] = filter[key]; } } //筛选 let resultArr = arr.filter( (item) => { let flag = false; for(key in tempFilter) { if(item[key].toString().indexOf(tempFilter[key].toString()) >= 0) { flag = true; } else { flag = false; break; } } if(flag) { return item; } } ); console.log(JSON.stringify(resultArr)); //[ // {"name":"q1121","age":12,"address":"辽宁大连1"}, // {"name":"q44","age":12,"address":"辽宁大连4"}, // {"name":"q55","age":12,"address":"辽宁大连5"}, // {"name":"q332","age":12,"address":"辽宁沈阳1"} //] } 分页pagination: { total: 0, currentPage: 1, pageSize: 10, pageSizes: [10, 20, 30, 50, 100], }, ------------ tableList: function () { return this.tableData.slice( (this.pagination.currentPage - 1) * this.pagination.pageSize, this.pagination.currentPage * this.pagination.pageSize ); },原文章
2022年11月24日
51 阅读
0 评论
0 点赞
2022-10-25
jenkins docker 部署 前端
搭建好Jenkins 下载插件 Publish Over SSH Node Docker文件格式 DockerfileFROM nginx:1.17.0-alpine LABEL maintainer = 1054711110@qq.com COPY nginx/nginx.conf /etc/nginx/nginx.conf COPY nginx/default.conf /etc/nginx/conf.d COPY src /usr/share/nginx/htmldocker-compose.yamlversion: '3' services: # 前端 service-front: hostname: service-front container_name: service-front image: registry.cn-hangzhou.aliyuncs.com/lazycat520/moka-frontend:V-NUMBER restart: always ports: - "81:80" volumes: - /etc/timezone:/etc/timezone - /etc/localtime:/etc/localtimenginx/default.confserver { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; # try_files $uri $uri/ /index.html; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }nginx/nginx.confuser nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 8; gzip_types application/json application/octet-stream text/plain application/javascript application/css text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; gzip_disable "MSIE [1-6]\."; include /etc/nginx/conf.d/*.conf; }jenkins 节点配置 阿里镜像 registry.cn-hangzhou.aliyuncs.com/lazycat520/moka-frontend:V${BUILD_NUMBER}sed -i 's/V-NUMBER/V${BUILD_NUMBER}/g' docker-compose.yaml && docker-compose up -d
2022年10月25日
73 阅读
0 评论
0 点赞
2022-10-20
nas内网穿透
用到了frp穿透 剩下跟着参考资料 直接穿透 Windows Linux
2022年10月20日
81 阅读
0 评论
0 点赞
2022-07-25
VUE codemirror插件 设置回显对象
this.code = JSON.stringify(this.code, null, "\t");JSON.stringify(this.code, null, "\t"); 这个最重要,JSON.stringify的第三个属性就是让我们格式化代码用的,你也可以直接传入数字x(10以内),就表示前面是x个空格的距离,我是用'\t',这样就是一个tab的距离了。原文章
2022年07月25日
67 阅读
0 评论
0 点赞
1
2
...
4