一定要全用正则式?这样行不行?
function formatNumber(sStr){
var cFirst=sStr.substr(0,1)
var sNext=sStr.substr(1)
return cFirst+sNext.replace(/-/g,"")
}
function formatNumber(sStr){
var cFirst=sStr.substr(0,1)
var sNext=sStr.substr(1)
return cFirst+sNext.replace(/-/g,"")
}
<script>
function convert(str)
{
var pattern1 = /^[^-]/gi
if(pattern1.test(str))
{
alert(str.replace(/-/gi,""))
}
else
{
alert("-"+str.replace(/-/gi,""))
}
}
convert("-100adfas--df129-")
</script>
s="---99----999--";
alert(math(s));
function math(str){
return str.replace(/(-+)/g,"-").replace(/-$/g,"").replace(/(\d)(-)(\d)/g,"$1$3");
}
</script>
<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>