在线等!javascript正则校验问题求教

下面的正则是校验数字的,如果输入其它非法字符或者文字的话会匹配为空字符串,但遇到下面几种情况就不行了,有大神可以把下面正则改进下吗或者有其它更好的正则表达式吗letnum_1='--150'letnum_2='--150..55'letnum_3='150..15'num_1.replace(/[^\-?\d.]/g,'')//--150想要的结果是-150num_2.replace(/[^\-?\d.]/g,'')//--150..55想要的结果是-150.55num_3.replace(/[^\-?\d.]/g,'')//150..15想要的结果是150.55
HUWWW
浏览 209回答 2
2回答

ABOUTYOU

没理解需求。。。--150..55还变成--15055?以下我想的实现方式,你可以参考下letnum='--150..55';letre=/\-?\d+\.?/;//获取开头letresult=re.exec(num)[0];//将开头替换成#num=num.replace(/\-?\d+\.?/,'#')//将所有非数字替换成空num=num.replace(/[^\d]/g,'')//把开头拼接进去result=result+num;

胡子哥哥

functionformat(value=``){returnvalue.replace(/(\D)\1+/gu,`$1`);}format(`--150`);//>"-150"format(`--150..55`);//>"-150.55"format(`150..15`);//>"150.15"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript