Obtener valor de una cadena después de un carácter especial

2 minutos de lectura

¿Cómo recorto y obtengo el valor después de un carácter especial de un campo oculto? El valor del campo oculto es así

Código

<input type=-"hidden" val="/TEST/Name?3"

¿Cómo obtengo el valor después del símbolo de “signo de interrogación” en jquery?

Puedes usar .indexOf() y .substr() como esto:

var val = $("input").val();
var myString = val.substr(val.indexOf("?") + 1)

Puedes probarlo aquí. Si tu eres Por supuesto del formato y solo hay un signo de interrogación, puedes hacer esto:

var myString = $("input").val().split("?").pop();

  • En realidad, lastIndexOf() es más seguro si tiene más de uno de los caracteres especiales en su cadena. Buena respuesta de todos modos. Gracias. +1

    – frostymaravilloso

    14 de junio de 2011 a las 15:25

  • @frostymarvelous: dado que esta es una URL, desea comenzar con la primera ? ya que ahí es donde comienza la parte de la cadena de consulta de la solicitud, incluso si hay otra más tarde 🙂

    –Nick Craver

    14/06/2011 a las 16:30

  • en realidad, dado que es un campo oculto, puede ser cualquier cosa. Por cierto, solo dije esto porque agregó en su respuesta que si él / ella está seguro de que contiene solo uno. char luego usa eso. Encontré tu hilo buscando una forma de obtener valores después del carácter de libra.

    – frostymaravilloso

    15 de junio de 2011 a las 13:40

  • ¡Atención! Si ? debería faltar por completo, esta respuesta NO devolverá una cadena vacía, ¡sino el contenido completo del campo de entrada!

    – Jpsy

    24/10/2013 a las 15:33

Suponiendo que tiene su entrada oculta en un objeto jQuery $myHiddenluego usa JavaScript (no jQuery) para obtener la parte después ?:

var myVal = $myHidden.val ();
var tmp = myVal.substr ( myVal.indexOf ( '?' ) + 1 ); // tmp now contains whatever is after ?

Aquí hay una manera:

<html>
    <head>
        <script src="https://stackoverflow.com/questions/4232462/jquery-1.4.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                var value = $('input[type="hidden"]')[0].value;
                alert(value.split(/\?/)[1]);
            });
        </script>
    </head>
    <body>
        <input type="hidden" value="/TEST/Name?3" />
    </body>
</html>

avatar de usuario
Ganesh

//var val = $("#FieldId").val()
//Get Value of hidden field by val() jquery function I'm using example string.
var val = "String to find after - DEMO"
var foundString = val.substr(val.indexOf(' - ')+3,)
console.log(foundString);

Suponiendo que necesita encontrar la cadena DEMO después, con el código anterior puede acceder a la cadena DEMO substr devolverá la cadena desde cualquier valor indexOf return hasta el final de la cadena, devolverá todo.

¿Ha sido útil esta solución?