0

たくさんの電話番号を表示する小さなアプリケーションを作成しています。

JavaScript オブジェクトは次のようになります。

myObject.phoneNumber = model.phoneNumber;

次に、画面に myObject.phoneNumber を表示します。ただし、マスクしたいので、XXX-XXX-1234 のようにします。次に、電話番号の上にマウスを置くと、電話番号全体が表示されます。

こんなことをしようと思っていたのに…

myObject.phoneNumber = model.phoneNumber;
myObject.maskedNumber = model.phoneNumber.replaceFirst6WithX's //psuedoCode

次に、マウスオーバーで、

    $(".phoneNumber")
        .mouseOver(function (e) {
            $(".phoneNumber").hide();
            $(".maskedNumber").show()
        });

マウスアウトでは反対のことをします。

だから私の質問は次のとおりです:これを達成するために電話番号の最初の6つの番号をマスクする(または非表示にする)にはどうすればよいですか?

4

4 に答える 4

1
myObject.maskedNumber = "XXX-XXX" + myObject.phoneNumber.substring(7);
于 2012-10-09T16:37:03.227 に答える
1

これは単純な例ですが、機能的です。

フィドル

于 2012-10-09T16:38:30.903 に答える
1

これを試して

var phone = "1234567890";
phone.replace(phone.substring(0,6), 'XXXXXX');
于 2012-10-09T16:32:53.967 に答える
1

最初の 6 桁/文字を「x」として文字列を返す関数を使用できます。

function mark(phone) {
    var str='';
    var count=0;
    for(i=0; i<phone.length; i++) {
        if(phone.charAt(i)!="-" && count<6) {
            str+='x';
            count++;
        }
        else
            str+=phone.charAt(i);
    }
    return str;
}

マウスがその上にあるときに、要素の内容を返された文字列に変更できます。これは、数字の「-」に相当します。数字以外のものを検出するように変更することもできます。

于 2012-10-09T16:53:02.070 に答える