necessità di restituire true o false in base a se il valore nel campo di testo è un numero specifico

StackOverflow https://stackoverflow.com/questions/3415951

Domanda

Sto cercando di tornare vero se l'utente ha immesso 4 nel campo di immissione.

function validateAddition() {
  if($("#validateAddition").val() == 4) {
    return true;
  } else {
    return false;
  }
}

<input value="" 
class="validate[required,onlyNumber,length[0,1]funcCall[validateAddition]] text-input" 
type="text" id="validateAddition" name="validateAddition" />

Aggiunto questo nel file di lingua inglese js:

"validateAddition":{
    "nname":"validateAddition",
    "alertText":"* Your math is off, try again."}

Questo dovrebbe andare bene, fatemi sapere cosa ne pensate è sbagliato.

È stato utile?

Soluzione

http://www.w3schools.com/jsref/jsref_parseInt.asp

return (parseInt($('#validateAddition').val()) == 4)

EDIT: MooGoo è corretto, mi sono sbagliato per quanto riguarda la mia spiegazione

.

Tuttavia è l'idea di usare + val non è probabilmente il migliore. Mentre il metodo di cui sopra lavoro sarà, come si richiede una soluzione molto migliore sarebbe la seguente:

if(($('#validateAddition').val()-0) == 4)

Il motivo che vogliamo -0 al contrario di +0 è semplicemente perché se si tratta di una stringa e si desidera eseguire operazioni aggiuntive in caso lo è, non avrà più la stringa originale.

Altri suggerimenti

Se si desidera consentire ad altri personaggi come bene e tornare vero solo se il testo di campo di input contiene 4, si dovrebbe fare in questo modo, invece:

if($("#validateAddition").val().indexOf('4') != -1) {

Si renderebbe sence per confrontare il valore in una stringa, dal momento che il valore è una stringa. Ciò consente di utilizzare eguali severe evitando inutili conversioni automatiche. Inoltre è possibile semplificare la funzione.

function validateAddition() {
  return $("#validateAddition").val() === "4";
}

Si può mettere il vostro convalida nel file di lingua, cercando qualcosa di simile


"validateAddition": {
    "regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
    "alertText": "* Your math is off, try again."
},


Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top