Javascript 使用if语句生成不同的元素

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

如果元素的最后一个字母是字母或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)==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。你复制对了吗?很简单