【问题标题】:Get value from a string after a special character从特殊字符后的字符串中获取值
【发布时间】:2025-12-17 23:40:01
【问题描述】:

如何从隐藏字段中修剪并获取特殊字符后的值 隐藏字段值是这样的

代码

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

我如何在 jquery 中获得“问号”符号后的值??

【问题讨论】:

    标签: jquery parsing


    【解决方案1】:

    您可以像这样使用.indexOf().substr()

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

    You can test it out here。如果你确定格式并且只有一个问号,你可以这样做:

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

    【讨论】:

    • 实际上,如果字符串中有多个特殊字符,lastIndexOf() 会更安全。无论如何都很好的答案。谢谢。 +1
    • @frostymarvelous - 因为这是一个 URL,您希望从第一个 ? 开始,因为这是请求的查询字符串部分开始的地方,即使稍后还有另一个 :)
    • 其实既然是隐藏字段,什么都可以。顺便说一句,我只是说了这一点,因为您在回答中添加了如果他/她确定它只包含一个? char 然后使用它。我发现您的线程正在寻找一种在磅字符之后获取值的方法。
    • 注意!如果 ?应该完全丢失,这个答案不会返回空字符串,而是输入字段的完整内容!
    【解决方案2】:

    假设您在 jQuery 对象 $myHidden 中有隐藏的输入,然后您使用 JavaScript(不是 jQuery)来获取 ? 之后的部分:

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

    【讨论】:

      【解决方案3】:

      这是一种方法:

      <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>
      

      【讨论】:

        【解决方案4】:

        //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);
        假设您需要在之后找到 DEMO 字符串 - 通过上面的代码,您可以访问 DEMO 字符串 substr 将从 indexOf 返回的任何值返回字符串,直到字符串末尾它会返回所有内容。

        【讨论】: