我有一个输入内的onchange。然而,正则表达式模式没有得到正确创建。Javascript onchange正则表达式/字符
jQuery(this).attr("onchange", "
var cat = jQuery('.coverage');
var dog = 0;
for(var i = 0; i < cat.length; i++){
if(cat[i].value){
dog = parseInt(cat[i].value.replace(/\,/g,''), 10) + dog;
}
}
var pat = new RegExp('\\B(?=(\d{3})+(?!\d))' , 'g');
jQuery('#total').val(dog); ");
的模式,而不是:
/\B(?=(d{3})+(?!d))/g
出来:
/B(?=(d{3})+(?!d))/g
注意,在此背景下,平变化attr为必要的黯然......
*请注意在这方面的onchange attr是必要的* - 我觉得很难相信。无论如何,你不应该能够在不转义的情况下在多行上声明这样的字符串。你应该有一个语法错误。 – CodingIntrigue
放一个\ =>“\\\ B”而不是“\\ B”顺便说一句,我会通过'“\ d”'方法 – Stphane
用'on()方法附加处理程序“,您的意思是”d“或数字类'\ d'('[1-9]')? 在第二种情况下,您必须加倍斜线:'\\ d'。 – kelvinss