js-利用blur使文本框自动控制格式

devtools/2024/10/15 20:19:52/

在 JavaScript 中,blur 是一个事件,它在一个元素失去焦点时触发。当用户从一个元素中移开或者将焦点转移到页面上的另一个元素时,该元素将触发 blur 事件。这个事件通常用于验证用户输入或执行其他与用户交互相关的操作。

假设我有个文本框,要求输入氨基酸序列,如下图所示:
在这里插入图片描述
失去焦点后,变成这种格式:
在这里插入图片描述
要求:

  1. 过滤非法字符
  2. 每组10个字符,组与组之间以空格分隔,每行6组
  3. 每行前面需要标明index

前端

<textarea rows="10" cols="100" required="required" id="input-sequence"placeholder="只接受20种氨基酸及'X',X代表未知氨基酸" style="text-indent: 0;font-family: monospace;">
</textarea>

js:

javascript">// nperg: 每组几个字符
// gperline: 每行几组
function groupString(str, nperg, gperline) {var result = '';var groups = Math.ceil(str.length / nperg); // 计算总共有多少组var linesize = nperg* gperline;for (var i = 0; i < groups; i++) {var startIndex = i * nperg;var endIndex = Math.min(startIndex + nperg, str.length); // 结束索引不能超过字符串长度var groupStr = str.substring(startIndex, endIndex); // 截取每组字符串if (i % gperline == 0) { // 左侧需要填数字result += String(i * nperg + 1).padStart(6, ' ') + ' ';}// 每组添加字符串和空格result += groupStr + ' ';if ((i + 1) % gperline === 0) { // 每6组换行result += '\n';}		}return result;
}$("#input-sequence").blur(function () {var tmpSeq;tmpSeq = $(this).val().replace(/[^ACDEFGHIKLMNPQRSTVWYX]+/ig, "").toUpperCase();$(this).val(groupString(tmpSeq, 10, 6))});

http://www.ppmy.cn/devtools/4604.html

相关文章

鸿蒙原生应用元服务-访问控制(权限)开发场景与权限声明

一、场景介绍 应用的APL&#xff08;Ability Privilege Level&#xff09;等级分为normal、system_basic和system_core三个等级&#xff0c;默认情况下&#xff0c;应用的APL等级都为normal等级。权限类型分为system_grant和user_grant两种类型。 二、配置文件权限声明 应用需要…

开发语言漫谈-python

python的语法和C完全不同&#xff0c;但是它也是C写的。也就是想成为高手&#xff0c;C是必备武功。不是每个人都想成为武林高手。所以客观上需要个简单上手开发效率高的语言&#xff0c;就这样python诞生了。python的发明人其实不喜欢蟒蛇&#xff0c;但是不知道为啥选这个名字…

dotnet 将C#编译为wasm让前端html使用

其实 dotnet 是全栈的首选&#xff0c;原因是因为可以开发的方向太多&#xff0c;比如大本营PC端&#xff0c;以及后台。还有移动端&#xff0c;包括 IOS 和安卓端。现在还能用来写前端&#xff0c;本文就来告诉大家如何在前端使用现有的C#代码&#xff0c;通过 WebAssembly 使…

Jmeter 场景测试:登录--上传--下载--登出

为了练习Jmeter的使用&#xff0c;今天我要测试的场景是“登录--上传--下载--登出”这样一个过程. 测试的目标是我曾经练手写的一个文件分享系统&#xff0c;它要求用户只有登录后才可以下载想要的文件。 Jmeter总体结构&#xff1a; 第一步&#xff1a;添加HTTP Cookie管理器…

计算机视觉动作识别——YOWO用于实时时空动作定位与识别的算法解析

摘要 时空动作定位要求将两种信息源整合到设计的架构中&#xff1a;(1) 来自先前帧的时间信息和(2) 来自关键帧的空间信息。当前的最先进方法通常使用单独的网络提取这些信息&#xff0c;并使用额外的机制进行融合以获得检测结果。YOWO是一个用于视频流中实时时空动作定位的统…

C++入门

目录 C入门 1. C关键字 2. 命名空间 2.1 命名空间定义 2.2 命名空间使用 3. C输入&输出 4. 缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 5. 函数重载 5.1 函数重载概念 5.2 C支持函数重载的原理--名字修饰(name Mangling) 6. 引用 6.1 引用概念 6.2 引用特…

FastGPT+ChatGLM3本地部署

FastGPTChatGLM本地部署 本地部署硬性要求&#xff1a;显存13g以上 关于环境的安装就不多赘述&#xff0c;conda pip 可以解决大部分问题 ChatGLM本地运行 m3e-basechatglm3-6b 在huggingface上可以下载上述模型&#xff0c;如果没有梯子可以使用huggingface镜像 从git…

Axure中继器排序失效 /没变化解决

问题复现 通过设置交互条件后&#xff0c;但是没效果&#xff0c;查了很多资料&#xff0c;按照教程操作&#xff0c;仍旧没效果。 原因 结论先行&#xff1a;问题出在汉化包&#xff0c;你用了汉化包导致axure内部出错。最简单的办法&#xff0c;删除汉化文件&#xff0c;…