簡體   English   中英

如何使用ASP.NET MVC隱藏文本框中的最后幾個字符

[英]How to mask last few characters in textbox using ASP.NET MVC

在局部視圖中,有一個文本框字段綁定到模型屬性。 該文本框用於獲取敏感信息。 因此,我想用星號(*)掩蓋最后幾個字符。

如果我在輸入類型設置為“ password”的情況下使用EditorFor(),則所有字符都被屏蔽,這不符合我的目的。

我想要的功能是1)文本框中的最后4個字符應顯示為****(即使用戶輸入輸入內容,而不僅僅是文本框焦點2)發送給控制器的數據必須包含實際值。

請提出建議。

如果您想保留最后4個值,以防萬一您的要求發生變化,請執行以下操作

//var last4 = myString.Substring(myString.Length - 4, 4);

如果要存儲前5個字符,請執行以下操作

//myString.Substring(myString.Length - 9, 5)

var maskDelim = new string('*', 4);
var myString = "123456789";
var maskResults = myString.Substring(0, 5);
maskResults = maskResults + maskDelim;

您可以這樣進行。

    @model WebApplication1.Models.MyModel
@{
    ViewBag.Title = "Home Page";
}

<br/>
<label>Enter your SSN</label>
<input type="text" id="visiblesecret"/>
@Html.HiddenFor(m=>m.MySensitiveField,new{@id="secret"})

<script src="~/Scripts/jquery-1.10.2.min.js"></script>

<script type="text/javascript">
    jQuery(document).ready(function ($) {
        $('body').on('keyup', '#visiblesecret', function(event) {
            var typedtext = $('#visiblesecret').val();
            $('#secret').val(typedtext);
            if (typedtext.length >= 7) {
                var len = typedtext.length;
                var nonSecretChars = '';
                var secret = '';
                switch (len) {
                    case 7:
                        nonSecretChars = typedtext.substring(0, len - 1);
                        secret = nonSecretChars + '*';
                        break;
                    case 8:
                        nonSecretChars = typedtext.substring(0, len - 2);
                        secret = nonSecretChars + '**';
                        break;
                    case 9:
                        nonSecretChars = typedtext.substring(0, len - 3);
                        secret = nonSecretChars + '***';
                        break;
                    case 10:
                        nonSecretChars = typedtext.substring(0, len - 4);
                        secret = nonSecretChars + '****';
                        break;
                    default:
                        alert("Invalid SSN");
                        $('#secret').val('');
                        $('#visiblesecret').val('');
                        return;
                }
                $('#visiblesecret').val(secret);
                //alert('You entered ' + $('#secret').val());
            }
        });
    });
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM