同样是 正则表达式,做人的差别怎么这么大呢?

程序小童的爸爸 2008-03-10 11:22:26
为什么我的浏览器里,正则表达式形如/[^0-9]/g 就能起到过滤作用,而类似/^[1-9]d*$/的表达式就不能起作用?
如果是js版本的问题,有没有办法解决?
如果没办法解决,我怎么才能写如形如/[^0-9]/g等起作用的浮点数正则?
...全文
154 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
请大家中午有空再多看看!很是郁闷
myvicy 2008-03-11
  • 打赏
  • 举报
回复
莫非是浏览器出了问题?到别的机器上测试一下.
如果确认是浏览器问题就修复一下或重新安装.
  • 打赏
  • 举报
回复

网上了也看了些资料,可是我的浏览器里凡带\d $ 等符号的表达式都不能运行,这是为什么?
hy_lihuan 2008-03-11
  • 打赏
  • 举报
回复
正则不是很懂,帮不上忙了
  • 打赏
  • 举报
回复
其实我的意思不是讨论两个正则的含义是什么,而是想搞清楚为什么第一类的没有问题,第二类运行不正常。
southkingfine 2008-03-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 myvicy 的回复:]
/[^0-9]/g 和/^[1-9]d*$/完全不一样
贴些常用的供参考
"^\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+) ¦(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*) ¦([0-9]*[1-9][0-9]*\.[0-9]+) ¦([0-9]*[1-9][0-9]*))$"  //正浮点数

[/Quote]
  • 打赏
  • 举报
回复
^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数 
  • 打赏
  • 举报
回复
 ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ \\匹配负浮点数
myvicy 2008-03-10
  • 打赏
  • 举报
回复
/[^0-9]/g 和/^[1-9]d*$/完全不一样
贴些常用的供参考
"^\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\d+)(\.\d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

"^[\u4E00-\u9FA5]$" 汉字
  • 打赏
  • 举报
回复
^(?:[1-9][0-9]*\.[0-9]+|0\.(?!0+$)[0-9]+)$     //匹配正浮点数 
yuanrong303 2008-03-10
  • 打赏
  • 举报
回复
匹配浮点数:

[code=JScript]]^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$[/code
  • 打赏
  • 举报
回复
/^\d*$/

/^[1-9]+[\d]*$/
yuanrong303 2008-03-10
  • 打赏
  • 举报
回复
匹配浮点数:
/^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/
glaive_lee 2008-03-10
  • 打赏
  • 举报
回复
呵呵,/^[1-9]\d*$/
  • 打赏
  • 举报
回复
忘了说下环境 ie7+weblogic 想要的是javascript正则
  • 打赏
  • 举报
回复
请看我的使用,新手用正则,看看用法有没有问题。
我的就是不起作用

<input name= "textfield 2" type= "text " size= "15 "
onkeyup="value=value.replace(/^[1-9]\d*$/,'')"
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ></td>
wlfkongl 2008-03-10
  • 打赏
  • 举报
回复
/^[1-9]d*$/  
你少写一个 \了

应该是
/^[1-9]\d*$/
其实二楼的已经说出来了
  • 打赏
  • 举报
回复
我的意思是,为什么这个正则 /^[1-9]d*$/  在我的浏览器里不能起作用

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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