2016-11-16 2 views
0

Ich möchte Text in Tags mit Dummy-Werten in Javascript Textfeld konvertieren. Textfeld hat maxlength von 20. Wie der Benutzereingabe einige Werte, wird es prüfen, ob es maxlength von 20 erreichtJavascript - Erkennen von Tags und überprüfen maxlength

Wenn eine Benutzereingabe der folgende:

This is value <VALUE_1> 

Es wird Dummy-Wert ersetzen „, 12 “, und prüfen sie, ob die maxlength von 20 überschreiten folgende

This is value 12 

verwende ich onkeyup zu der Eingabe des Benutzers als Benutzereingabe zu erkennen, aber wie soll ich das Tag erfassen tun, konvertieren und vergleichen, wenn sie maxlength erreicht 20?

+0

Sie benötigen, um Tags zu finden, konvertieren und das konvertierte dann überprüfen Zeichenkettenlänge ... Javascript hat reguläre Ausdrücke, die dem ersten Teil helfen, ersetzen Funktion für den zweiten Teil, und eine Zeichenkette hat eine Längeneigenschaft für den dritten Teil –

+0

danke für Ihre Antwort, kann es nur den ganzen VALUE_1 ermitteln, wenn Benutzer beendet das End-Tag >, wie kann ich zurück zum Start-Tag hades

+0

Trace was zurück? Ein "Eingabe" -Elementwert ist der ganze Wert, nicht nur die letzte gedrückte Taste! –

Antwort

0

Dies funktioniert:

var textInput = document.getElementById("text"); 
 
var dummyInput = document.getElementById("dummy"); 
 
var resultSpan = document.getElementById("replaced"); 
 
text.addEventListener("keyup", function(e){ 
 
    var dummy = dummyInput.value; 
 
    var text = textInput.value 
 
    var result = text.replace("<VALUE_1>", dummy); 
 
    if(result.length <= 20){ 
 
    resultSpan.innerText = result; 
 
    } else { 
 
    resultSpan.innerText = "too long!"; 
 
    } 
 

 
});
<label for="dummy">Dummy value:</label> 
 
<input type="text" id="dummy" placeholder="Dummy value, e.g. 12" /><br /> 
 
<label for="text">Text to process:</label> 
 
<input type="text" id="text" maxlength="20" placeholder="<VALUE_1> will be replaced by the dummy value in the result." /><br /> 
 
Replaced text: <span id="replaced"></span>

0

Ich glaube, was Sie suchen ist einfach einige regexp.

"This is value <VALUE_1> <123>".replace(/<VALUE_1>/, mySecretSauce) 

Wenn der Wert von mySecretSauce 12.

Sie ist auch die regexp Ausdruck dynamisch wie bauen kann:

"This is value <VALUE_1> <123>".replace(new RegExp("<VALUE_1>"), mySecretSauce)