使用JS或Jquery-是否可以有一个只读字段,该字段显示有掩码,但在复制时不显示掩码值

With JS or Jquery - Is it possible to have a read only field that displays with a mask, but unmasked value when copied?

本文关键字:掩码 显示 JS 复制 字段 是否 有一个 使用 读字段 Jquery-      更新时间:2023-09-26

我有一个代码生成器表单,它有两个文本框。第一个取一个12位数的代码,然后当按下按钮时,通过算法运行该代码,并吐出一个12位数字的键。我希望(实际上对于这两个字段)数据是用掩码输入的,但如果选择并复制,则是一个数字字符串。

例如:

用户在文本框中键入:123456789012掩码将框中的输入显示为:1234-5678-9012用户按下生成按钮第二个文本框中的文本(只读)显示的返回代码为:5798-1521-4886当用户复制第二个文本框并将其粘贴到记事本中时,值为:579815214886

这可能吗?我浏览了许多JQuery掩码插件,但它们都是在掩码数据仍在字符串中的情况下复制/粘贴的。我唯一能想到的另一件事是,当一个场获得焦点以移除遮罩时,但当它失去焦点以应用遮罩时。有更好的方法吗?

谢谢你的帮助。

我通过在提交表单时移除掩码来解决这个问题。此外,当获得焦点时移除掩模,当失去焦点时应用掩模。

实际上我只能访问IE浏览器。

首先是一个简单的输入字段:

<input type="text" id="field" />

其次,绑定复制事件(在jQuery的后续版本中使用上的来代替绑定):

$(function() {
    $("#field").bind("copy", function (e) { window.clipboardData.setData("Text", "MyCustomText"); });
});

当您复制输入中的文本时,"MyCustomText"将被放入剪贴板数据中。您可以将其替换为不带遮罩的字段所需的值。