이것이 마지막으로 비추천 된 이후 업데이트되었습니다 ....
부분 만 봤어요
var dots = 5
function increase(){
dots = dots+5;
}
전에는 txt
상자가 변수를 공급 한다는 것이 나중에 나에게 보여졌습니다 dots
. 이 때문에 입력을 "정리"하여 악성 코드가 아닌 정수만 포함하도록해야합니다.
이를 수행하는 한 가지 쉬운 방법은 onkeyup()
이벤트로 텍스트 상자를 구문 분석하여 숫자가 있는지 확인하는 것입니다.
<input size="40" id="txt" value="Write a character here!" onkeyup="GetChar (event);"/>
이벤트에서 오류가 발생하고 값이 숫자가 아닌 경우 마지막 문자를 지 웁니다.
<script type="text/javascript">
function GetChar (event){
var keyCode = ('which' in event) ? event.which : event.keyCode;
var yourChar = String.fromCharCode();
if (yourChar != "0" &&
yourChar != "1" &&
yourChar != "2" &&
yourChar != "3" &&
yourChar != "4" &&
yourChar != "5" &&
yourChar != "6" &&
yourChar != "7" &&
yourChar != "8" &&
yourChar != "9")
{
alert ('The character was not a number');
var source = event.target || event.srcElement;
source.value = source.value.substring(0,source.value-2);
}
}
</script>
분명히 정규식으로도 할 수 있지만 게으른 길을 택했습니다.
그 이후로 상자에 숫자 만있을 수 있다는 것을 알 수 있으므로 다음을 사용할 수 있습니다 eval()
.
dots = eval(dots) + 5;