如何用XXXXXXX代替连续8个字符都是数字的字符

kenways 2004-05-05 01:51:24
例如在论坛或评论的地方为了防止会员输入电话号码或QQ!

那请问各位高手,该如何把那些是连续6位以上数字的字符用XXXXXXXX代替!

(小弟喜欢转牛角尖但希望个位高手多多指教)
...全文
385 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxnet 2004-06-29
  • 打赏
  • 举报
回复
绝对禁止是不可能的,但只是数字“0..9”,可以“lenth”去字符串的长度,然后循环判断是否为数字“ISNUMBER”,再使用MID函数将其转换为X。
pizixt 2004-06-29
  • 打赏
  • 举报
回复
没什么用处,还不如不限制

随便举个例,电话:妖散久另别伞别妖耳留起
kenways 2004-06-29
  • 打赏
  • 举报
回复
谢谢大家参与,这话题已很久了!

现在我只是用根据数字0---9,大写0----9,ZERO---NINE,一----九,等等,在某段内容所出现的次数,如果全部情况共出现的次数大于6次就无发提交!所以无论是不是连续数字都已经没关系了!
当然也会有一点毙处!
terry6394 2004-06-29
  • 打赏
  • 举报
回复
不看来看去,不明白为什么一定要实现这个功能,有什么用处呢?!
wsdzmhongm 2004-06-29
  • 打赏
  • 举报
回复
真热闹啊
ryuginka 2004-06-29
  • 打赏
  • 举报
回复
楼主,控制不了的.就象在解密
空闲独处 2004-05-06
  • 打赏
  • 举报
回复
TO:回复人: kenways(kenways)

不用1,1也可以得到的结果是不完全的
比如Str="123456789abcd12345kmdasdl1234567abc12345678"
不用1,1得到的结果会是*********abcd*****kmdasdl*****67abc*****678
因为第二轮替换的时候会把所有的12345给替换掉,而剩下的67和678因为不足5位所以没办法被替换

建议你结合上述的提议,只需要替换数字和汉字,不需要全部屏蔽,比如繁体和英语,个人认为没什么必要,原因上面都说了,还有一个是拼音,能屏蔽吗?因为有模糊音南方音之类的,所以没必要那么复杂了,除非你想做人工智能,但那也不是用ASP来做的.
空闲独处 2004-05-06
  • 打赏
  • 举报
回复
人工智能就比如写个程序,让车子可以自动行驶,由程序判断该加速还是减速,由程序决定走哪条路能最快到达,还有机器人等等,都是人工智能.至于用什么开发要看你做什么,比如做卫星的自动运行,用你的P4是算不了那么多数据的,如果只是网游外挂之类的,用VB,VC,JAVA都可以做到.
至于我们写的这些程序只能算是自动化和半自动化,属于人工智能的初级阶段或原始阶段.

至于多设置几个管理员就看你自己了,不过你可以给数据库写个查询,把不能加到上面程序的关键字,用查询列出来,由管理员判断要不要改,这也叫半自动化,比起一条一条的查找效率要高很多.
liuqinglq 2004-05-06
  • 打赏
  • 举报
回复
除非做出人工智能来……

但是这种人工智能还是未突破的难题,呵呵!
wanghr100 2004-05-06
  • 打赏
  • 举报
回复
其实,有想过这种问题.
如果这样想的话,就会无穷多种.

因为,可以他们会这样子输入

1-2-6-9-6-8
one-2,9---6,8

所以,不可能完全禁止..
只要有输入数字,就可以变像地输入电话号码.
kenways 2004-05-06
  • 打赏
  • 举报
回复
哦!那倒是!
那设置多几个管理员,在那些特殊的情况下把内容里的数字号码改为XXXXXX!~—~

顺便问问各位,人工智能可以做那些事情?用什么开发人工智能??

小弟知识薄弱还请大家多多指教!
kenways 2004-05-06
  • 打赏
  • 举报
回复
对啊如果是“123456一二三四五六壹贰叁肆伍one two tree...."或者
“456六壹贰56two tree.。。。”等等,我晕了,情况太多了!
如果每一种情况都加进代码去的话就很多了!

谢谢各位的回复!

~~烦烦烦!
liuqinglq 2004-05-05
  • 打赏
  • 举报
回复
看了 wanghr100(灰豆宝宝.net) 的正则表达式……

突然想到一点

要是诸如“123四五六”这样的……

算不算呢?

再加上繁体,金额大写,大小写英文数字等等……-_-!
ManZY 2004-05-05
  • 打赏
  • 举报
回复
麻烦,frontpage直接带那个功能,自动产生一个函数!用于正则表达式判断。
wanghr100 2004-05-05
  • 打赏
  • 举报
回复
Sorry. 手误...


<%
Function NumReplace(str)
Dim regEx
Set regEx = New RegExp
regEx.Pattern ="[一|二|三|四|五|六|七|八|九|零]{8,15}|[\d]{8,15}|[one|two|three|four|five|six|seven|eight|night|zero]{8,15}" ' 设置模式。连续8个到15个数字,如果{8,}则8个以上
regEx.IgnoreCase = True
regEx.Global = True
NumReplace=regEx.replace(str,"error") '把检索到的数字部分替换成error字样
End Function

response.write NumReplace("111111111atwotwoonetwothreefourfivesixtwoa一三0四六八九九二aa44444444cccccc")
%>
wanghr100 2004-05-05
  • 打赏
  • 举报
回复
在楼上的兄弟的基础上改一下.

<%
Function NumReplace(str)
Dim regEx
Set regEx = New RegExp
regEx.Pattern ="[一|二|三|四|五|六|七|八|九|零]{8,15}|[\d]{8,15}|[one,two,three,four,five,six,seven,eight,night,zero]{8,15}"
' 设置模式。连续8个到15个数字,如果{8,}则8个以上
regEx.IgnoreCase = True
regEx.Global = True
NumReplace=regEx.replace(str,"error") '把检索到的数字部分替换成error字样
End Function

response.write NumReplace("111111111aa一三四四六八九九二azerozerozerozerozerozerozerozeroa44444444cccccc")
%>
kenways 2004-05-05
  • 打赏
  • 举报
回复
情况有点改动,如果输入"一二三四五六七八"..."one two three,four,five......"不也是变了屏蔽不了连续的数字了吗?
我刚才发现漏了这一点,不好意思请再指教!
kenways 2004-05-05
  • 打赏
  • 举报
回复
谢谢各位的指导!
stayhere(且留连) 的程序通过测试!

yokenhou(风ノ影) 也通过,不过在我的电脑里不用1,1也可以得到一样的结果!奇怪???
空闲独处 2004-05-05
  • 打赏
  • 举报
回复
订正一下,在replace函数后面要加上参数1,1,不然替换会不完整,正确代码如下.

Dim regEx,Matches,Str,Match
Str="123456789abcd12345kmdasdl1234567abc12345678"
Set regEx = New RegExp
regEx.Pattern ="[\d]{5,}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(Str)
For Each Match in Matches
Str = replace(Str,Match.Value,String(Len(Match.Value),"*"),1,1)
Response.Write Str & "<BR>"
Set Matches = regEx.Execute(Str)
Next
空闲独处 2004-05-05
  • 打赏
  • 举报
回复
下面的代码可以根据字符的个数替换相应个数的*号(已测试)
Dim regEx,Matches,Str,Match
Str="123456789abcd12345"
Set regEx = New RegExp
regEx.Pattern ="[\d]{5,}"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(str)
For Each Match in Matches
Str = replace(str,Match.Value,String(Len(Match.Value),"*"))
Response.Write Str & "<BR>"
Set Matches = regEx.Execute(str)
Next
加载更多回复(7)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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