输入名字和链接转换成对象

news2024/11/15 3:50:14

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>输入名字和链接转换成对象</title>
</head>
<style>
   
</style>
<body>
    <input type="text" id="nameInput" placeholder="名字+空格+链接输入示范:可莉 https://">
    <button onclick="convertName()">转换</button>
    <p id="result">名字+空格+链接输入示范:可莉
        https://i2.wp.com/genshinbuilds.aipurrjects.com/genshin/characters/klee/image.png?strip=all&quality=100&w=140
        转换成:{
        star: "45",
        name: "可莉",
        image:
        "https://i2.wp.com/genshinbuilds.aipurrjects.com/genshin/characters/klee/image.png?strip=all&quality=100&w=140"
        },</p>

<script>
    function parseInput(input) {
        // 去除字符串两端的空格,并替换中间的多余空格为一个空格
        input = input.trim().replace(/\s+/g, ' ');

        // 将输入字符串按空格分割
        const parts = input.split(' ');
       
        if (parts.length !== 2) {
            throw new Error('输入格式不正确');
        }

        // 提取名称和图片URL
        const name = parts[0].trim();
        const image = parts[1].trim();

        // 验证URL是否有效
        if (!isValidUrl(image)) {
            throw new Error('无效的图片URL');
        }

        // 构建输出对象
        const output = {
            star: "45",  // 修改这里,将数字4改为字符串"4"
            name: name,
            image: image
        };

        // 将对象转换为字符串,并去掉属性名的双引号,保留属性值的双引号
        let result = JSON.stringify(output, null, 2)
            .replace(/"(\w+)":\s*/g, '$1: ')
            .replace(/:\s*"/g, ': "');

        return result;
    }

    function isValidUrl(url) {
        const urlPattern = /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/i;
        return urlPattern.test(url);
    }

    function convertName() {
        const inputValue = document.getElementById('nameInput').value;
        try {
            const result = parseInput(inputValue);
            document.getElementById('result').innerText = result;
        } catch (error) {
            alert(error.message);
        }
    }

    // 示例输入
    const input = "安柏 https://i2.wp.com/genshinbuilds.aipurrjects.com/genshin/characters/amber/image.png?strip=all&quality=100&w=140";
    console.log(parseInput(input));
</script>

</body>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2074677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Open3D 基于曲率条件的滤波(37)

Open3D 基于曲率条件的滤波&#xff08;37&#xff09; 一、算法介绍二、算法实现1.代码2.效果 一、算法介绍 曲率是描述曲面或曲线弯曲程度的数学量。在三维空间中&#xff0c;曲率可以用于分析点云数据的几何特征。通常&#xff0c;较小的曲率值表明该点位于相对平坦的区域&…

文章中的错字一并替换成正确的字

with open("文件路径"&#xff0c;"模式"&#xff0c;"编码") as file ("r" 是读&#xff0c;"w"是写) with open(r"D:\python-installer\python-code\pythonProject\src\关于文件操作练习/人物介绍.txt",&quo…

爆改YOLOv8 | 利用MB-TaylorFormer提高YOLOv8图像去雾检测

1&#xff0c;本文介绍 MB-TaylorFormer是一种新型多支路线性Transformer网络&#xff0c;用于图像去雾任务。它通过泰勒展开改进了softmax-attention&#xff0c;使用多支路和多尺度结构以获取多层次和多尺度的信息&#xff0c;且比传统方法在性能、计算量和网络重量上更优。…

拉取Github仓库错误

说明&#xff1a;记录一次拉取github仓库时&#xff0c;报下面的错误 $ git clone https://github.com/LamSpace/data-plus.git Cloning into data-plus... fatal: unable to access https://github.com/LamSpace/data-plus.git/: SSL certificate problem: unable to get loc…

windows本地搭建zookeeper和kafka环境

zookeeper 1.1 下载zookeeper 下载地址 随便进一个站点&#xff0c;默认是新版本&#xff0c;旧版本点击archives进入&#xff0c;选择合适的版本下载&#xff0c;本文使用的是3.7.2 下载时候选择apache-zookeeper-3.7.2-bin.tar.gz 格式的&#xff0c;编译后的&#xff0c;解…

Overleaf参考文献由 BibTex 转 \bibitem 格式

目录 Overleaf参考文献由 BibTex 转 \bibitem 格式一、获取引用论文的BibTex二、编写引用论文对应的bib文件三、编写生成bibitem的tex文件四、转化bibitem格式 参考资料 Overleaf参考文献由 BibTex 转 \bibitem 格式 一、获取引用论文的BibTex 搜索论文引用点击BibTex 跳转出…

Ps:首选项

Photoshop 的“首选项” Preferences是一个集中的设置面板&#xff0c;允许用户根据自己的工作流程和个人喜好来定制软件的行为和界面。 Windows&#xff1a; Ps菜单&#xff1a;编辑/首选项 Edit/Preferences 快捷键&#xff1a;Ctrl K macOS&#xff1a; Ps菜单&#xff1a;…

市域社会治理解决方案

1. 建设背景与政策解读 市域社会治理现代化是响应党的十九届四中全会《决定》和中央政法委秘书长陈一新的指示&#xff0c;旨在加强和创新社会治理&#xff0c;构建和谐社会。通过“综治中心网格化信息化”模式&#xff0c;提升基层社会治理能力&#xff0c;确保社会安定有序。…

一道ssrf题目--Web-ssrfme

目录 环境搭建 代码分析 漏洞点寻找 渗透 使用工具构造payload 结果 ​编辑 环境搭建 使用docker拉取上面文件 rootubuntu:~/web-ssrfme/web-ssrfme# docker-compose up -d代码分析 首先进入题目环境&#xff0c;查看docker发现在8091端口下&#xff0c;进入后出现这…

基于ssm+vue的前后端分离鲜花销售系统

系统背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样的大环境让那些止步不前&#xff0c;不接受…

Springboot里集成Mybatis-plus、ClickHouse

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; Springboot里集成Mybati…

第2章-09-浏览器同源策略及跨域

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲,后续完整更新内容如下。 文章…

RPA自动化流程机器人助力企业财务数字化转型

在数字经济时代&#xff0c;企业需要快速响应市场变化&#xff0c;而财务数字化转型是企业适应现代商业环境、提升竞争力的必要步骤。财务数字化转型不仅涉及企业财务能力的提升&#xff0c;推动了财务管理与决策模式的转变。RPA自动化流程机器人因其能通过自动化技术帮助企业实…

【Hot100】LeetCode—200. 岛屿数量

目录 1- 思路DFS 深搜 2- 实现⭐200. 岛屿数量——题解思路 3- ACM 思路 题目连接&#xff1a;200. 岛屿数量 1- 思路 DFS 深搜 在遍历中对 res 结果进行 操作 。遇到一个陆地结果为 1 的地方&#xff0c; 就将他们直接填充为 0 思路 ① 先遍历&#xff0c;收集 res② 之后…

Springboot打包、部署

一、导入maven打包插件 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins> </build> 二、执行打包操作&#xff08;…

【消息中间件】RabbitMQ

1 基础篇 1.1 为什么需要消息队列 1.2 什么是消息队列 1.3 RabbitMQ简介 1.4 RabbbitMQ安装 一、安装 # 拉取镜像 docker pull rabbitmq:3.13-management# -d 参数&#xff1a;后台运行 Docker 容器 # --name 参数&#xff1a;设置容器名称 # -p 参数&#xff1a;映射端口号…

MFC对话框程序界面UI优化Demo

目录 1. 修改MFC对话框背景色 1.1 在对话框头文件中申明画刷对象 1.2 在对话框源文件中OnInitDialog()函数中创建画刷对象 1.3 重载OnCtlColor&#xff0c;即WM_CTLCOLOR消息 2 修改文本框等控件的背景色、文字颜色 3 修改文本框等控件的字体大小 4 修改按钮控件的背景色…

在DDD中应用模式

深层模型和柔性设计并非唾手可得。要想取得进展&#xff0c;必须学习大量领域知识并进行充分的讨论&#xff0c;还需要经历大量的尝试和失败。但有时我们也能从中获得一些优势。一位经验丰富的开发人员在研究领域问题时&#xff0c;如果发现了他所熟悉的某种职责或某个关系网&a…

Puppeteer Web 抓取:使用 Browserless 的 Docker

Docker 镜像介绍 Docker 镜像是用于在 Docker 容器中执行代码的文件。它类似于构建 Docker 容器的指令集&#xff0c;就像一个模板。换句话说&#xff0c;它们相当于虚拟机环境中的快照。 Docker 镜像包含运行容器所需的所有库、依赖项和文件&#xff0c;使其成为容器的独立可…

虚拟机Ubuntu误操作导致无法自动联网的解决办法

直接上解决办法&#xff1a;安装netplan.io。 sudo apt install netplan.io sudo netplan apply 问题描述&#xff1a; 虚拟机的Ubuntu由于我的乱操作不小心删除了很多东西&#xff0c;导致开机无法自动联网了。而且在设置里边也没了设置网络的地方。 尝试不同办法发现用sudo…