大神们,求详细解释JS中this.value = this.value.replace(/[^(\d)|(,)]/,"");还有另一个问题

this.value=this.value.replace(/[^(\d)|(,)]/,"");效果是把所有的非,或者是非数字都转换为了空,但是他怎么做到的我不清楚。困惑... this.value = this.value.replace(/[^(\d)|(,)]/,"");效果是把所有的非,或者是非数字都转换为了空,但是他怎么做到的我不清楚。
困惑很久的问题:JS中的数组,我看程序中有的时候用array[i].value取数组值,有的时候直接用array[i]取值。比如程序中使用array[i]的时候,我改成array[i].value,程序出错!!!
如:sum += parseInt(oInput[i]);改成sum += parseInt(oInput[i].value);就不行了!!!
再如:myFn(oInput[0],oInput[1]);调用下面的函数
var myFn = function(a, b)
{
alert(a.value);//这里改成了a就出错了!!!
};
上面是2个问题,菜鸟跪求解答啊
展开
 我来答
匿名用户
2015-03-20
展开全部
我来试试回答你的问题。
第一个问题
this.value.replace(...) 中是如何做到替换了指定的内容,这个是正则替换法。
^在[]中表示非,在/后便表示开始
\d在正则中表示所有的数字,至于正则的相关知识,有专门的教程和书籍。

第二个问题
你所说的有时 array[i]可取值,有时需要用.value取值。
那得区分你的array是对象,还是数组了。
如果arr[0]=document.get........('id')
那么arr[0]就是个对象了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式