我正在尝试屏蔽从我制作的表单转发的输出,但似乎不起作用。
第1页中的输入字段
<form method="post" action="step2.php" id="form1" name="form1">
Enter Card Here:<input name="card" type="text" id="card"
value="<?php echo $_POST["card"]; ?>" style="width:85px;"
class="validate[custom[card]] text-input" /> </form>这是我正在使用的代码
<script> var card = "<?php echo $_POST["card"]; ?>"; var str = "";
for(var i=1; i <= card.length-4; i++) { str += "*"; }
ecard = str + card.substr(card.length-4);
$('.ccard').appendTo('ecard'); </script>这是输出应显示的位置
<label class="ccard"></label>在输入字段中,用户必须输入12位数字
ex: 123456789012那么它应该看起来像
********9012前8位数字被屏蔽,只有后4位数字可见。
发布于 2012-09-22 05:25:03
试试这个:
var card = "123456789011";
var str = "";
for(var i=1; i <= card.length-4; i++) {
str += "*";
}
ecard = str + card.substr(card.length-4);
console.log(ecard);card变量是您的输入,在本例中它已经设置好了。
http://jsfiddle.net/fdRTR/2/ -示例jsfiddle
使用标签output http://jsfiddle.net/fdRTR/3/更新了jsfiddle
第三次更新,添加了一个按钮,而不是onkeyupevent http://jsfiddle.net/fdRTR/4/
请检查示例,如果需要更多帮助,请回信。
发布于 2012-09-22 05:32:45
试试这个:
var card = "123456789012";
var maskLength = card.length-4;
ecard = card.replace(card.substr(0,maskLength),Array(maskLength).join('*'));
console.log(ecard);如果您想了解它的用途:
replace(): https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace
substr(): https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/substr
Array(n).join(): Repeat Character N Times
https://stackoverflow.com/questions/12538325
复制相似问题