web-dev-qa-db-fra.com

Obtenir la valeur d'une chaîne après un caractère spécial

Comment puis-je couper et obtenir la valeur après un caractère spécial à partir d'un champ masqué La valeur du champ masqué est comme ceci

Code

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

Comment puis-je obtenir la valeur après le symbole "point d'interrogation" dans jQuery?

50
Sullan

Vous pouvez utiliser .indexOf() et .substr() comme ceci:

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

Vous pouvez le tester ici . Si vous êtes certain du format et qu'il n'y a qu'un seul point d'interrogation, vous pouvez simplement faire ceci:

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

En supposant que vous ayez votre entrée cachée dans un objet jQuery $myHidden, vous utilisez ensuite JavaScript (pas jQuery) pour obtenir la partie après ?:

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

Voici un moyen:

<html>
    <head>
        <script src="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>
1
Bart Kiers