Remove text after JS character

2

I need to remove everything in front of * (asterisk) Javascript example:

<form>
  <div class="form-row">
    <div class="col">
		<label>Carro</label>
      <input type="text" id="nome" class="form-control" value="palio*Azul">
    </div>
    <div class="col">
		<label>Resultado</label>
      <input type="text" id="resultado" class="form-control" >
    </div>
  </div>
	<input type="button" id="botaoapagar" onclick="apagar();" value="Apagar">
	
</form>

<script>

function apagar(){


var nome = document.getElementById("nome").value;

// Exemplo retornando só o modelo
var resultado = "palio"

 document.getElementById("resultado").value = resultado;



}</script>
    
asked by anonymous 23.08.2018 / 21:05

2 answers

4

Just use the split() method to cut the string in the first occurrence of the asterisk, as shown below:

var resultado = nome.split("*", 1);

In the above code, the first parameter of the split() method is the searched character (in this case the asterisk) and the second is the occurrence (in the case of the first occurrence).

Here's a demonstration of using the method in question in your code:

<form>
  <div class="form-row">
    <div class="col">
		<label>Carro</label>
      <input type="text" id="nome" class="form-control" value="palio*Azul">
    </div>
    <div class="col">
		<label>Resultado</label>
      <input type="text" id="resultado" class="form-control" >
    </div>
  </div>
	<input type="button" id="botaoapagar" onclick="apagar();" value="Apagar">
	
</form>

<script>

function apagar(){


var nome = document.getElementById("nome").value;
//Função split para cortar a string no primeiro asterisco encontrado
var resultado = nome.split("*", 1);

document.getElementById("resultado").value = resultado;



}</script>
    
23.08.2018 / 21:16
4

With .substr() and indexOf() you can get the substring from the beginning (index 0 ) to the first occurrence of the asterisk ( indexOf() goes to the previous character of the occurrence):

var resultado = nome.substr(0, nome.indexOf("*"));

Example:

function apagar(){
  var nome = document.getElementById("nome").value;

   // Exemplo retornando só o modelo
   var resultado = nome.substr(0, nome.indexOf("*"));

   document.getElementById("resultado").value = resultado;
}
<input type="text" id="nome" class="form-control" value="palio*Azul">
    </div>
    <div class="col">
		<label>Resultado</label>
      <input type="text" id="resultado" class="form-control" >
    </div>
  </div>
	<input type="button" id="botaoapagar" onclick="apagar();" value="Apagar">
    
23.08.2018 / 21:18