ai didi

没有插件的 Javascript 输入文本屏蔽

转载 作者:数据小太阳 更新时间:2023-10-29 06:05:17 24 4
gpt4 key购买 nike

我想在不改变实际值的情况下屏蔽输入框中的文本。我不能使用任何插件。

我目前正在这样做 - 但如您所见,问题是实际值在提交时发生了变化。我怎样才能改变显示值?

$("input[name='number']").focusout(function(){
var number = this.value.replace(/(\d{2})(\d{3})(\d{2})/,"$1-$2-$3");
this.value = number;
}

最佳答案

你需要两个输入

两个输入应该可以完成工作。一个输入将包含屏蔽文本,另一个将是包含真实数据的隐藏输入。

<input type="text" name="masknumber">
<input type="text" name="number" style="display:none;">

我处理屏蔽的方法是构建一个用于屏蔽和取消屏蔽内容的函数,这样一切都保持一致。

$("input[name='masknumber']").on("keyup change", function(){
$("input[name='number']").val(destroyMask(this.value));
this.value = createMask($("input[name='number']").val());
})

function createMask(string){
return string.replace(/(\d{2})(\d{3})(\d{2})/,"$1-$2-$3");
}

function destroyMask(string){
return string.replace(/\D/g,'').substring(0,8);
}

Working JSFiddle

关于没有插件的 Javascript 输入文本屏蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40513950/

24 4 0
文章推荐: javascript - 在 Chrome 扩展程序中多次执行内容脚本
文章推荐: javascript - Angular : How to make an element that will close UI bootstrap dropdown on click
文章推荐: javascript - Rollup.js 如何在不做任何更改的情况下导入 js 文件(不是 es6 模块)(myvar$extrastring)
文章推荐: node.js - connect-redis 不想连接到远程主机
数据小太阳
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com