【帮忙】求个可以代替IsNumeric的正则表达式!在线等结贴!

zhybxyz 2008-05-20 07:34:14
如题!

主要针对的是程序数字参数接收校验(例如:id=158),所以涉及到SQL语句的安全性。

select * from table where id=" & idcheck(request("id"))

网上找了很多了,都不符合要求!

高手来帮忙写个!在线等!!!

注意:很多都忽略了“+,-”号了,+1这样也是不可以的!另外不要带“0”!
...全文
601 71 打赏 收藏 转发到动态 举报
写回复
用AI写文章
71 条回复
切换为时间正序
请发表友善的回复…
发表回复
wahaha00239 2011-09-28
  • 打赏
  • 举报
回复
笑死我了
bombworm 2008-05-25
  • 打赏
  • 举报
回复
^\d+[.]{0,1}\d*
CAINIAOXIANGFEI 2008-05-23
  • 打赏
  • 举报
回复
几位真强大
sonicryu 2008-05-23
  • 打赏
  • 举报
回复
。。。看了一半就觉得两个人火气越来越大。。。 - - 对了 顺便请教大家11楼高手的那种 有颜色的代码输出是怎么弄的 谢过了 ^_^
basanovic 2008-05-23
  • 打赏
  • 举报
回复
用正则就要先搞清楚规则,作为ID来讲,它的规则就是:大于零的正整数,开头不能是零,不能包含数字以外任何其他字符。
正则就是这样的:
^[1-9]\d*$
但对于实际应用来说,可能还会有其他要求,我现在用的是这样的:
^[1-9]\d{0,9}$
实际使用过程中,程序在ID长度超过10的时候会报错。
hfdsoft 2008-05-23
  • 打赏
  • 举报
回复
表明态度,支持chinmo

LZ真扯,数字防注还用正则。。。


'格式化字符串是为纯正整数数字
'原字符串为数字:返回整数部分
'原字符串含为非数字字符:返回0
Function IsNum(ByVal str As String) As String
If IsNumeric(str) Then
str = Abs(Fix(str))
Else
str = 0
End If
IsNum = str
End Function

rightyeah 2008-05-22
  • 打赏
  • 举报
回复
^[+-]?(([1-9]\d*)|0)(\.\d*)?([eE][+-](([1-9]\d*)|0))?$
匹配任意整数、小数、科学计数法 注意小数点前面必须要有数字,不允许 .123 这样的形式
Fireman_duck 2008-05-22
  • 打赏
  • 举报
回复
和谐呀
momoco4 2008-05-22
  • 打赏
  • 举报
回复
匹配毛啊
clng(request("xxx"))
clng范围-27亿~27亿
管你啥玩意儿
来了通杀
出错了就是参数不符合规则嘛,很简单的,只要本站参数合理就好了

负数也是整数啊 数据库也支持啊
不过该记录不存在...
ihyun 2008-05-21
  • 打赏
  • 举报
回复
两位大侠真会扯..^ ^
xory001 2008-05-21
  • 打赏
  • 举报
回复
实在是Orz...
keystudio 2008-05-21
  • 打赏
  • 举报
回复
^(?!-0)-?(?!00)[0-9]+$

阿弥陀佛
  • 打赏
  • 举报
回复
也许你认为这只是小事不影响什么,但是每个人都这样那就是大事,整天谈什么爱国口号有P用啊
像国家富强,爱国并不是要做什么大事!这些小细节就是最好的爱国证明。
  • 打赏
  • 举报
回复
我最讨厌整天口头说爱国的,而自己做的却对国家一点益处没有坏处却是存在一堆的人
  • 打赏
  • 举报
回复
[Quote=引用 53 楼 zhybxyz 的回复:]
你看看我问过几个问题?

没你说的那么严重好不?
[/Quote]

因为你这一帖问得问题就是如此欠揍,特别现在都是这个多灾得季节,还这么不爱动脑!国家不富强还不就因为不爱动脑,靠取巧靠运气的人太多了吗?

自己看有多少这个这样的白痴帖我回的?
  • 打赏
  • 举报
回复
[Quote=引用 50 楼 zhybxyz 的回复:]
我什么时候不承认缺点、弱点了??哪句?都是你强加的好不好?

自己心情不好,你跑这里来撒气?
[/Quote]

我没有心情不好!
我只看到中国像你如此这样不爱动脑,又整天怨天尤人得人太多!一点不争气!整天找什么我刚学,我基础差来当借口!
哪个人天生就会的,开发正则的那些人有人教他了吗?
还不都是他们不断的摸索合测试总结出来的!
zhybxyz 2008-05-20
  • 打赏
  • 举报
回复
算了,再说都是废话了。

ASP版面里有很多问的更欠揍的问题,你去指证别人吧。

浪费我这么多时间,真是多余。
  • 打赏
  • 举报
回复
[Quote=引用 51 楼 zhybxyz 的回复:]
刚学正则的人,知道^[0-9]*[1-9][0-9]*$ 这个是怎么回事?里面3个出现[1-9]会不会重复?多余?我能确定?
[/Quote]

刚学就是借口了吗?
确实重复了啊!!
objRegExp.Pattern ="^[1-9]*$"只需要这样就行!!
但是重复也没关系!重点在你一不动脑二不动手去测试!!
重复了以后我能不能合成一个来写呢!这稍微思考和测试一下就出来了!还用得着去问别人这么愚蠢的问题吗?
zhybxyz 2008-05-20
  • 打赏
  • 举报
回复
你看看我问过几个问题?

没你说的那么严重好不?
  • 打赏
  • 举报
回复
我还喜欢有人来指点我缺点!
可惜在我周围没有一个可以在这方面指点我的

我也说过了,如果你不是中国人,我他妈的还会揣你几脚!更别说给你指正!!
加载更多回复(50)

28,391

社区成员

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

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