如何使用var在javascript中存储超过10位的数字?
首先, 我在干什么? 我必须在网页中设置我们产品中电子邮件的限制。它使用javascript进行验证。它最多可以处理8位数字。但在我们的QA团队中,在其他电子邮件字段的文本框中输入超过17位的数字。它会抛出负面消息。我能做什么 我的示例代码是:如何使用var在javascript中存储超过10位的数字?,javascript,jquery,ajax,Javascript,Jquery,Ajax,首先, 我在干什么? 我必须在网页中设置我们产品中电子邮件的限制。它使用javascript进行验证。它最多可以处理8位数字。但在我们的QA团队中,在其他电子邮件字段的文本框中输入超过17位的数字。它会抛出负面消息。我能做什么 我的示例代码是: if(form.otheremail){ if(validEmailArray.endsWith(',')){ var otherEmailLength=validEmailArray.substring(0,validEmailArray.length
if(form.otheremail){
if(validEmailArray.endsWith(',')){
var otherEmailLength=validEmailArray.substring(0,validEmailArray.length-1)。拆分(“,”;
var setLimitOtherEmail=window.parent.document.getElementById('setLimitOtherEmail')。值;
如果(setLimitOtherEmail=='-1'){
form.otherEmails.value=otherEmailLength;
}
else if(otherEmailLength.length尝试将每个数字解析为整数,然后再对它们执行任何比较操作。
var setLimitOtherEmail=parseInt(window.parent.document.getElementById('setLimitOtherEmail').value);
除此之外,您确定otherEmailLength实际上是您想要的数字吗?从外观上看,您正在获取validEmail数组的子字符串,并将其拆分为“,”,但看起来您并没有实际获得数组的长度。请尝试在otherEmailLength值的末尾添加.length
var otherEmailLength = validEmailArray.substring(0,validEmailArray.length-1).split(",").length;
这是因为限制是字符串,当字符串与数字(长度)进行比较时,数字被强制转换为字符串,而不是相反
然后按字典顺序对它们进行比较——按字典顺序,“9”比“19”更(>)
在比较之前,需要使用parseInt(setLimitOtherEmail,10)
获取数值
var otherEmailLength = validEmailArray.substring(0,validEmailArray.length-1).split(",").length;