作者文章

fwq

FWQ
网站开发
将字节数组转换为字符串时,如何理解正则表达式 /^1+? (?=0) / 的作用?
Javascript 字节数组转字符串的疑难解答 字节数组转字符串是常见需求,网上流传一种方法令人不解,本文将深入剖析该方法的疑点。 疑点详细 该方法中,var one = arr[i].toString(2)是将字节值转为二进制串,而v = one.match(/^1 +?(?=0)/)的含义颇为模糊。 疑点解答 v = one.match(/^1+?(?=0)/)使用正则表达式匹配连续的1,直到第一个0。对于输入值1001 0100,返回的v为1。 这背后的原因是正则表达式中: ^ 表示从字符串开始匹配。 1+? 表示匹配一个或多个连续的1。 (?=0) 是一个正则表达式断言,它表示前面的表达式匹配后紧跟一个0,但它自己不匹配任何字符。 因此,该正则表达式匹配1001 0100中从开头到第一个0的所有连续1,即1,从而理解为字节值后面二进制串的长度。 以上就是将字节数组转换为字符串时,如何理解正则表达式 /^1+? (?=0)…
2024-11-10 阅读全文 →
FWQ
网站开发
为什么我的文件选择器无法选择 CSV 文件?
文件选择器设置 mime 类型无效 问题描述: 需要创建一个文件选择器,仅允许选择 XLS、XLSX 和 CSV 文件类型。设置了 MIME 类型,但只有 XLS 和 XLSX 文件类型的 MIME 类型生效,而 CSV 文件类型的 MIME 类型无效。 <input type="file" id="avatar" name="avatar" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv"> 登录后复制 解决方法:…
2024-11-10 阅读全文 →
FWQ
网站开发
如何禁用 HTML 页面中的 Ctrl+滚轮缩放事件?
在 html 中禁用 ctrl+滚轮缩放事件 在 HTML 页面中,当用户按住 Ctrl 键并滚动鼠标滚轮时,浏览器通常会放大或缩小页面。但有时我们需要禁用此行为。本文将介绍如何禁用 Ctrl+滚轮缩放事件。 PC 端原生的方法 使用 JavaScript 代码监听 mousewheel 和 keydown 事件,在其中阻止缩放事件: document.addEventListener('mousewheel', function (e) { e = e || window.event;…
2024-11-10 阅读全文 →
FWQ
网站开发
js如何验证邮箱
在 javascript 中验证电子邮件地址,可以通过以下方法实现:正则表达式:使用正则表达式匹配有效的电子邮件地址格式。html5 输入验证:使用 pattern 属性在表单字段中验证电子邮件地址。异步验证:使用第三方库或 api 进行异步电子邮件验证,可以验证邮箱是否存在或能否接收电子邮件。 JS 验证电子邮件 电子邮件验证在确保电子邮件地址合法性方面至关重要,在 JavaScript 中有几种方法可以实现。 1. 正则表达式 可以使用正则表达式来匹配有效的电子邮件地址格式: const re = /^(([^<>()[]\.,;: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,}))$/; 登录后复制 要使用此正则表达式,请按照以下步骤操作: 创建一个 RegExp 对象:const pattern = new…
2024-11-10 阅读全文 →
FWQ
网站开发
Vue 项目中,iconfont 文件夹应该放在哪里?
iconfont 文件夹在 项目中的最佳位置 在 Vue 项目中使用 iconfont 时,将 iconfont 文件夹放置在何处可能会引发一些疑问。 放置位置 iconfont 文件夹可以放在 assets 或 static 包下。这两个文件夹都用作静态资源的存储位置,因此 iconfont 文件将被视为静态资源并在项目安装期间被引用。 错误和解决方案 立即学习“”; 如果你将 iconfont 文件夹放置在 assets 文件夹下后出现错误,可能是因为该文件夹中的某个文件与 Vue CLI…
2024-11-10 阅读全文 →
FWQ
网站开发
如何使用 Laravel 框架轻松封装微信支付和支付宝支付?
框架中支付和支付封装方案 封装第三方支付接口是程序开发中常见需求,本文将介绍如何使用 Laravel 框架封装和支付宝支付。 现有的第三方支付封装库繁多,建议直接采用成熟且稳定的库。其中,EasyWeChat 是一个活跃维护多年的库,由原腾讯员工开发。 EasyWeChat(Laravel 版) 这是一个专门适用于 Laravel 框架的 EasyWeChat 扩展包。其特点如下: 提供微信支付和支付宝支付的完整 API 实现。 支持各种支付场景,包括公众号支付、小程序支付、H5 支付等。 提供丰富的文档和示例,易于上手。 安装和使用 composer require overtrue/laravel-wechat 登录后复制 // config/wechat.php 'defaults' =>…
2024-11-10 阅读全文 →
FWQ
网站开发
关于 SharedWorkers 的一些注释
我最近需要在一个项目中实现一个共享工作线程。尽管它们非常有用,但在通常的地方找不到太多信息,因此这里有一些提示可能会帮助来自神秘未来的搜索者。 背景 sharedworkers 是一类特殊的 webworker,可以在多个选项卡、窗口或其他(常规)web worker 之间共享。 在我的应用程序中,我需要一个流程来轮询新的应用程序事件(例如,客户完成购买),并向登录的管理员(或更具体地说,那些登录的管理员)显示通知(使用通知 api)在选择接收通知的管理员中)。 管理员可以在多个选项卡或窗口中打开应用程序,因此让每个选项卡轮询新事件会很浪费。无论打开的选项卡或窗口有多少,我只希望每个事件有一个通知。 sharedworker 来救援!每个打开的选项卡或窗口共享一个工作程序,该工作程序在后台进行轮询,并且每个新事件仅显示一个通知。 使用vite创建共享worker 第一个挑战是在我基于 vite 的设置中加载共享工作线程。 如果您在开发模式下运行 vite,vite 会从不同的域和端口(例如 http://[::1]:5173/)提供脚本,这是行不通的,因为共享工作线程必须遵守同源策略。 我为网络工作者尝试了各种 vite 解决方法: 由于同源政策要求,官方的 vite web worker 方法不适用于…
2024-11-10 阅读全文 →
FWQ
网站开发
小程序中如何使用SVG实现不规则进度条?
不规则进度条解决方案:使用svg 对于在小程序中实现不规则进度条,可以使用svg图像。svg可以确保进度条在不同设备和尺寸下始终保持清晰。 思路: 准备水塔svg图像:使用绘图软件(如figma或sketch)创建所需形状的水塔svg图像。 动态调整svg高度:使用javascript或小程序api动态调整svg图像的高度,以反映进度。可以使用的clip-path属性来截取svg的一部分,只显示所需的高度。 修改svg颜色:在进度低于20%时,使用javascript或小程序api将svg的填充颜色更改为红色;否则更改为绿色。 需要注意的几点: 小程序中需要使用二进制方式读取svg文件,否则在ios设备上不会显示。 动态调整svg高度时,需要查找并修改height=属性的值。 修改svg颜色时,需要查找fill=属性的值并将其更改为所需的填充色。 示例svg代码: <svg ...> <!-- 调整高度的路径 --> <path d="..." transform="matrix(1 0 0 -1 28 106)" fill="white"/> <!-- 修改颜色的路径 -->…
2024-11-10 阅读全文 →
FWQ
网站开发
如何禁止移动端屏幕拖动?
解决移动端屏幕拖动问题 如果你希望在移动端设备上禁止屏幕拖动,尤其是当导航菜单展开时,你可以采取以下措施: 使用 代码将 body 元素的溢出属性设置为 hidden。这将阻止用户在页面上滚动,有效地禁止屏幕拖动。以下是 css 代码: body { overflow: hidden; } 登录后复制 你可以将此代码添加到你的页面样式表中,或使用内联样式直接应用到 body 元素。 需要注意的是,此方法只会阻止页面滚动,但不会阻止用户在导航菜单内滚动。如果需要阻止导航菜单内的滚动,你可以使用其他技术,例如在导航菜单的父元素上设置 : hidden 属性。 以上就是如何禁止移动端屏幕拖动?的详细内容,更多请关注米云其它相关文章!
2024-11-10 阅读全文 →
FWQ
网站开发
我的第一次 Hacktoberfest:开源之旅
第一次参加 Hacktoberfest 让我的生活发生了变化,个人成长以及对开源社区的贡献。作为一名软件开发人员,我的工作涉及每天使用其他人编写的开源软件。因此,参加 Hacktoberfest 让我有机会回馈社区,到目前为止,社区为我提供了许多宝贵的工具和资源。 深入开源 在开始为开源项目做出贡献时,我既兴奋又兴奋。大量的存储库和周围更成熟的社区让我非常害怕。很快,我发现很多项目对新人都很友好——他们给出了明确的贡献指南,并将问题标记为“好第一个问题”,以帮助像我这样的初学者。 贡献和学习 在 Hacktoberfest 期间,我为很多项目做出了贡献,我觉得我可以在这些项目中增加一些真正的价值。贡献范围从改进文档到错误修复和添加新功能。所有这些拉取请求都是学习机会:首先,了解代码库以及如何执行开发。 最好的部分之一是与项目维护者和其他积极的项目贡献者密切合作。这对于完善我的贡献和提高我的编码技能非常有帮助。这样的环境中的开放性让我非常清楚地意识到,开源就是一个社区,人们在彼此的工作基础上开发更好的软件来满足每个人的需求。 个人成长和未来愿望 参加 Hacktoberfest 提高了我的技术技能,但更重要的是,它给了我一种社区意识和共同目标。这激励我在活动之外继续为开源项目做出贡献,利用我的技能来支持和改进我和其他许多人每天使用的工具。 展望未来,我期待做出进一步的实质性贡献,并最终与新贡献者一起担任导师角色。这次经历增强了我协作和回馈社区的信念。 结论 我的第一次 Hacktoberfest 是一次学习、协作以及为开源软件世界和维持其活力的社区做出贡献的旅程。这确实让我越来越欣赏开源软件和支持它们的社区。我很高兴能够继续这样做,继续为具有影响力的项目做出贡献,并与活跃的开源社区一起成长。 与我联系:@Linkedin 并查看我的 Github。 以上就是我的第一次 Hacktoberfest:开源之旅的详细内容,更多请关注米云其它相关文章!
2024-11-10 阅读全文 →