这段JS怎么在数字之间加个逗号?

JavaScript015

这段JS怎么在数字之间加个逗号?,第1张

<script>

document.getElementById('aaa').onclick=function(){

 var s=""

 for(var i=0i<this.options.lengthi++){

    if(this.options[i].selected){

       if(s)s+=","

       s+=this.options[i].value

    }

 }

 document.getElementById("bbb").value = s

}

</script>

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:。

var reg = /^[0-9,]*$/

var a = '1231,456,346,', b = '34sda'

test(a)test(b)

function test(text) {

if (reg.test(text)) {

$('body').append(text + '符合</br>')

} else {

$('body').append(text + '不符合</br>')

}

}

3、浏览器运行index.html页面,此时会打印出该正则表达式对“1231,456,346,”和“34sda

”的校验结果。

提供几个思路:1. 用HTML5中input的pattern属性,他是指定一个正则表达式,输入的内容必须符合。像这种格式,用「(\d+,)+\d+」这样的正则就行。缺点是Safari和IE10以下不支持。2. input的onchange事件,每次都获取字符串,取里面的每个字符,判断是否为数字或逗号。3. input的onkeyup/ onkeydown事件,每次按键就触发,判断按键代码是否为数字键或逗号键。缺点是按数字键不一定输入数字,还需要一块判断是否按下shift等。还是2好一点。