Javascript 使用if语句生成不同的元素
如果元素的最后一个字母是字母或1,我使用以下javascript代码生成不同的数字。但不知何故,整个时间都在执行,不管它是否包含字母。我的错在哪里Javascript 使用if语句生成不同的元素,javascript,regex,if-statement,Javascript,Regex,If Statement,如果元素的最后一个字母是字母或1,我使用以下javascript代码生成不同的数字。但不知何故,整个时间都在执行,不管它是否包含字母。我的错在哪里 if (document.getElementById(element)!=null && element.charAt(element.length-1)==/^[a-zA-Z]*$/) { var element = element+1; } else if (element.charAt(element.length-1
if (document.getElementById(element)!=null && element.charAt(element.length-1)==/^[a-zA-Z]*$/) {
var element = element+1;
}
else if (element.charAt(element.length-1)==1) {
var element = element;
var lastletter = element.charAt(element.length-1);
lastletter++;
var element = element.substring(0, element.length-1)+lastletter;
}
else {
var element = element;
}
使用
match
查找正则表达式的子字符串
固定代码:
if (document.getElementById(element) &&
element.match(/[A-z]$/) { // <========
var element = element+1;
}
else if (element[element.length - 1]) === '1') { // <========
var element = element;
var lastletter = element.charAt(element.length-1);
lastletter++;
var element = element.substring(0, element.length-1)+lastletter;
}
else {
var element = element;
}
if(document.getElementById(element)&
element.match(/[A-z]$/){/1=='1'
,所以使用1
是可以的,只要它不是严格的比较(==
),虽然可以说使用'1'
会更好。现在,当元素包含字母时,if语句会不断执行,但我希望它只在元素的最后一个字符是字母时执行。我如何实现这一点???@PhilippBraun。你复制对了吗?很简单