怎样替换查找到的字符串字符

xiaofeiren0 2015-09-09 07:07:23
比如我现在获取到的身份证号码,
txtNum.Text=dt.Rows[0]["IDCard"].ToString();
现在这个txtNum.Text="523122199102160412";
怎样把显示在控件上的Text文本字符 把身份证上的出生日期给隐藏掉 就是用*替换掉
替换后的结果是 523122********0412
请大神贴一下代码
...全文
191 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nauhil 2015-09-11
  • 打赏
  • 举报
回复
MASK才是正经事
寂空冷 2015-09-11
  • 打赏
  • 举报
回复
楼主如果有其它主键,否则还需要把真实值类似于以下方式存起来,操作数据库的时候,获取txtNum.Tag.ToString()值传回数据库。 txtNum.Tag="523122199102160412";
mingcsharp 2015-09-10
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
这年头连截取字符串都不会了吗? Regex.Replace(txt,@"(?<=\d{6})\d{8}","********")
想来版主教训的话是极好的, 1:字符截取, 2:正则表达式 我来迟了
於黾 2015-09-10
  • 打赏
  • 举报
回复
如果你只是显示,而不需要用户再对它进行修改,那么其实不需要文本框,用label显示也一样的 但是如果你要用文本框显示,那么其实允许用户对它进行修改的对吧? 修改完了之后呢,录入数据库的是一堆*,那怎么可以
ajianchina 2015-09-10
  • 打赏
  • 举报
回复
现在只谈怎么转换,说到方法,当然还有3,还有4..... 再出一个

txtNum.Text = new string(txtNum.Text.Select((p, i) => (i > 5 && i < 14) ? '*' : p).ToArray());
风吹腚腚凉 2015-09-10
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
这样不对吧? 你把字符串直接替换掉了,那么文本框里就是真正的*了,你再从里面取出来,它还是*,再也变不回原来的字符串了 你其实需要的是个MaskTextBox,让一部分字符显示为*,而不是改变它的text
有道理,不过有个tag可以存对象,不过masktextbox好点
於黾 2015-09-10
  • 打赏
  • 举报
回复
这样不对吧? 你把字符串直接替换掉了,那么文本框里就是真正的*了,你再从里面取出来,它还是*,再也变不回原来的字符串了 你其实需要的是个MaskTextBox,让一部分字符显示为*,而不是改变它的text
  • 打赏
  • 举报
回复
这年头连截取字符串都不会了吗? Regex.Replace(txt,@"(?<=\d{6})\d{8}","********")
crystal_lz 2015-09-09
  • 打赏
  • 举报
回复

txtNum.Text = txtNum.Text.SubString(0,6) + "********" + txtNum.Text.SubString(14);

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧