JS中正负数的千位分隔符方法,利用正则表达式

JavaScript017

JS中正负数的千位分隔符方法,利用正则表达式,第1张

使用下面给出的函数可实现千分符支持正负数:

function comma(num) {

    var source = String(num).split(".")//按小数点分成2部分

        source[0] = source[0].replace(new RegExp('(\\d)(?=(\\d{3})+$)','ig'),"$1,")//只将整数部分进行都好分割

    return source.join(".")//再将小数部分合并进来

}

comma(-123456.789)//-123,456.789

最近一个小妹妹问我前端问题,怎样在页面上只让用户输入数字呢,但包含负数。其实这类的问题想到的肯定是正则表达式啊,很简单的,

思想就是:在键盘弹起的时候调用函数控制这个input的标签的value可输入的内容就ok了,在失去焦点的时候调用下可以哒。是不是超级简单~~~

到底需要匹配哪些数字?

正整数:^[1-9]\d*$

正数:^(?:0\.\d*[1-9]|[1-9]\d*(?:\.\d*[1-9])?)$

非负整数:^(?:0|[1-9]\d*)$

非负数:^(?:0|[1-9]\d*)(?:\.\d*[1-9])?$

整数:^(?:0|\-?[1-9]\d*)$

实数:^(?:0|\-?(?:0\.\d*[1-9]|[1-9]\d*(?:\.\d*[1-9])?))$