Javascript 跳出文本框后将文本框文本更改为xxxx

Javascript 跳出文本框后将文本框文本更改为xxxx,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个带社会保险号码的文本框。我有一个要求,一旦用户签出该字段,将前5个社保号码更改为X,这样如果用户输入 123456789 号码应为XXXXX 6789 我尝试使用txtsn_TextChanged事件来完成,但这会导致回发。我可以在Javascript或Jquery中执行类似的操作吗。下面是我的C#代码: 这对你来说无疑是个好主意。jQuery将在这里实现这一点 首先,您可以连接一个客户端事件,然后关闭该文本框的自动回发功能(很可能您已经关闭了,因为您注意到,对于这样一个小任务,您从未想

我有一个带社会保险号码的文本框。我有一个要求,一旦用户签出该字段,将前5个社保号码更改为X,这样如果用户输入

123456789

号码应为XXXXX 6789

我尝试使用txtsn_TextChanged事件来完成,但这会导致回发。我可以在Javascript或Jquery中执行类似的操作吗。下面是我的C#代码:


这对你来说无疑是个好主意。jQuery将在这里实现这一点

首先,您可以连接一个客户端事件,然后关闭该文本框的自动回发功能(很可能您已经关闭了,因为您注意到,对于这样一个小任务,您从未想要回发)

好的,您的标准文本框如下所示:

<asp:TextBox ID="TextBox1" runat="server" 
 onchange="mychange();"  Width="280px" ClientIDMode="static" ></asp:TextBox>

我确实添加了clientmodestatic,它只是让js更友好地获取控件

“onchange”事件实际上与服务器端的post-back和change事件相同(当然是客户端)

那么,我们的js?这项工作:

<script>
    function mychange() {
        var txt1 = $('#TextBox1');
        s = txt1.val();
        if (s.length > 5) {
            s = "XXXXX" + s.substring(s.length - 4, s.length);
            txt1.val(s);
        }
    }
</script>

函数mychange(){
var txt1=$('#TextBox1');
s=txt1.val();
如果(s.长度>5){
s=“XXXXX”+s.子字符串(s.长度-4,s.长度);
txt1.val(s);
}
}
js或jQuery中没有方便的“right”函数。但是你可以稍微调整一下上面的内容

请注意,子字符串是基于0的


你也许可以看看上面的。您甚至可以删除上面的“如果”,但上面的内容是一个很好的基本出发点。

我认为这将帮助您解决问题。这是否回答了您的问题?这也会导致回发。我想知道jquery或javascript的一些东西。谢谢。我一点也不懂密码。它马上就起作用了!
<script>
    function mychange() {
        var txt1 = $('#TextBox1');
        s = txt1.val();
        if (s.length > 5) {
            s = "XXXXX" + s.substring(s.length - 4, s.length);
            txt1.val(s);
        }
    }
</script>