Hej! Eftersom match() använder reguljära uttryck och en enkel punkt i ett sådant står för "vilket tecken som helst" matchas alla tecken. Du måste därför "escapa" punkten: "\\." Hej! Öhh... Ingen komentar.Hantering av "." i javascript
Jag gör en miniräknare och vill testa om användaren redan har tryckt på decimalteckenknappen och i så fall strunta i den knapptryckningen.
När jag ger "," som värde på decimalteckenknappen, kan jag göra str.match(","), men inte när knappen har value="." (alltså punkt)!!!
Då funkar inte match(".") eller indexOf(".").
Har ni tips på hur jag ska gå till väga?
M.v.h.
Nazila Norén Sv: Hantering av "." i javascript
Sv:Hantering av "." i javascript
Jag har testat med \\. men det funkar fortfarande inte.
Kan ni se vad är fel med koden? Jag har nog blir kodblind.
if ((currentValue == 0) && (buttonValue == "\\.")) {
window.document.calculatorForm.calculatorDisplay.value = buttonValue;
} else if ((buttonValue == "\\.") && currentValue.match("\\.")) {
alert("Only one occurrence of . is allowed. " + currentValue);
//Only one occurrence of "." is allowed.
}
Jag har testat med buttonValue.match("\\.") och ändå fått fel.
NazilaSv: Hantering av "." i javascript
Men du kanske borde testa:
<script>
if (buttonValue == ".") {
if (currentValue == 0) {
window.document.calculatorForm.calculatorDisplay.value = buttonValue;
} else if (currentValue.match("\\.")) {
alert("Only one occurrence of . is allowed. " + currentValue);
//Only one occurrence of "." is allowed.
}
}
</script>