CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

用正则表达式怎么样能去掉错误的"-"号.

楼主xiaobeibei(小贝贝)2002-05-07 17:16:54 在 Web 开发 / JavaScript 提问

1   输入           -9933                                        
      结果           -9933  
  2   输入           99-33   或   --9933   或9933-   输出结果能滤掉错误的"-"号  
      结果:         9933         -9933           9933    
  问题点数:40、回复次数:8Top

1 楼net_lover(【孟子E章】)回复于 2002-05-07 17:38:15 得分 0

什么意思啊!说明白点Top

2 楼sunbeamy(阳光灿烂的深夜)回复于 2002-05-07 17:51:27 得分 0

一定要全用正则式?这样行不行?  
  function   formatNumber(sStr){  
      var   cFirst=sStr.substr(0,1)  
      var   sNext=sStr.substr(1)  
      return   cFirst+sNext.replace(/-/g,"")  
  }Top

3 楼mmkk()回复于 2002-05-07 17:56:25 得分 5

try:  
  <script>  
  function   convert(str)  
  {  
  var   pattern1   =   /^[^-]/gi  
  if(pattern1.test(str))  
  {  
  alert(str.replace(/-/gi,""))  
  }  
  else  
  {  
  alert("-"+str.replace(/-/gi,""))  
  }  
  }  
  convert("-100adfas--df129-")  
  </script>Top

4 楼flylyke(爱就像英雄莫问出处)回复于 2002-05-07 17:56:40 得分 0

可能是想把-找出来然后kill掉他吧?Top

5 楼sunbeamy(阳光灿烂的深夜)回复于 2002-05-07 18:07:43 得分 0

不对吧,我看是把字串格式化成合法的数(主要是负数处理)吧?Top

6 楼8988(晓月)回复于 2002-05-07 18:09:50 得分 10

<script>  
  s="---99----999--";  
  alert(math(s));  
  function   math(str){  
  return   str.replace(/(-+)/g,"-").replace(/-$/g,"").replace(/(\d)(-)(\d)/g,"$1$3");  
  }  
  </script>Top

7 楼mmkk()回复于 2002-05-07 18:38:23 得分 0

楼上的简洁精炼,思路很清晰,学习!Top

8 楼qiushuiwuhen(秋水无恨)回复于 2002-05-08 10:48:54 得分 25

第二种,临时替换法  
  <script>  
  s="---12----345--";  
  alert(math(s));  
  function   math(str){  
  return   str.replace(/(^\-+)/g,"+").replace(/-/g,"").replace(/^\+/g,"-");  
  }  
  </script>  
   
   
  推荐第三种:  
  <script>  
  s="---12----345--";  
  alert(math(s));  
  function   math(str){  
  return   str.match(/(^-|\d)/g).join("");  
  }  
  </script>  
   
  Top

相关问题

  • 正则表达式去掉<font>标签的问题
  • 求一正则表达式,去掉html格式
  • 求一正则表达式 ---去掉重复单词
  • 如何用正则表达式去掉表格代码?
  • 去掉前后引号的正则表达式怎么写
  • 高分求正则表达式,怎么样取出文件名!
  • 一个简单的正则表达式:pattern = @"(?<=>)([\S\s]*?)(?=<)"是否有错误?
  • 正则表达式,有点错误,帮忙看看
  • 如何用正则表达式去掉字符串尾部的“0”?
  • 验证控件中的正则表达式怎么才能去掉空格

关键词

  • cfirst
  • snext
  • sstr
  • 错误
  • 输入
  • 结果
  • substr
  • var

得分解答快速导航

  • 帖主:xiaobeibei
  • mmkk
  • 8988
  • qiushuiwuhen

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo