如何在smarty模板上实现隐藏邮箱中间字符串?最好用正则regex_replace! 10
比如123456@qq.com显示的时候是12**56@qq.com;123456789@126.com显示的时候是12*****89@126.com;保持原邮箱长度不变...
比如123456@qq.com显示的时候是12**56 @ qq. com;123456789 @ 126.com显示的时候是12*****89 @ 126.com;保持原邮箱长度不变的前提下,把中间的给隐藏掉!谢谢!由于百度知道审核机制,邮箱格式我加了空格!其实是没有的!
展开
2个回答
展开全部
查找的表达式
\b([A-Za-z0-9._%+-]{2})([A-Za-z0-9._%+-]+)([A-Za-z0-9._%+-]{2})(@[A-Za-z0-9.-]+\.[A-Za-z]{2,6})\b
替换的表达式,如果\1不行,换成$1试试
\1***\3\4
中间的*号动态的变正则好像弄不了,你能不能把\2的字符串取出来,判断长度,生成多个*号呢?
而且这个邮箱表达式只能匹配前面长度大于等于5的邮箱,假如小于等于4怎么办?
\b([A-Za-z0-9._%+-]{2})([A-Za-z0-9._%+-]+)([A-Za-z0-9._%+-]{2})(@[A-Za-z0-9.-]+\.[A-Za-z]{2,6})\b
替换的表达式,如果\1不行,换成$1试试
\1***\3\4
中间的*号动态的变正则好像弄不了,你能不能把\2的字符串取出来,判断长度,生成多个*号呢?
而且这个邮箱表达式只能匹配前面长度大于等于5的邮箱,假如小于等于4怎么办?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询