当前位置:主页 > 软件编程 > .NET代码 >

C#与js实现去除textbox文本框里面重复记录的方法

时间:2021-01-11 11:00:44 | 栏目:.NET代码 | 点击:

本文以实例形式展示了C#与js实现去除textbox文本框里面重复记录的方法!具体方法如下:

现有如下问题:页面有一个textbox文本框(是多行的),比如我在文本框里面输入:111,222,333,555当再输入111的时候会自动清除掉这个111,或者是在提交一个按钮前清除掉这个相同记录!

解决方案如下:

以逗号分割成一个数组 有一个Split()方法
然后比较 里面相等的就删除掉后面的那个 形成新的实例
再把新实例按格式输进来~

C#代码如下:

string temp_str = "111,222,333,111,444,222";
temp_str = string.Join(",", Regex.Split(temp_str, @"[,,]").Distinct());//111,222,333,444

此外,还可以用js实现这一功能,实现代码如下:

<script type="text/javascript" language="javascript">
    $(document).ready(
      function() {
        $('#txt_test').keyup(
          function() {
            var txt = $('#txt_test').val();
            var str = new Array();
            str = txt.split(",");
            var strc = txt.substring(txt.lastIndexOf(',') + 1, txt.length);
            for (var i = 0; i < str.length - 1; i++) {
              if (str[i] == strc) {
                alert(strc);
                var txt1 = txt.replace(txt.substring(txt.lastIndexOf(','), txt.length), "");
                $('#txt_test').val(txt1);
                break;
              }
            }
          }
        )
      }
    )
</script>

前台控件如下:

<asp:TextBox ID="txt_test" runat="server" TextMode="MultiLine"></asp:TextBox>

这样写唯一有点不好的地方是
如果输入形如:111,
222,
111

这样排列中间有回车的话,需要对第一行单独判断一下,最后是能够写一段处理回车,空格之类的JS在这个方法里面,对此读者可以自己动手测试一下!

您可能感兴趣的文章:

相关文章