function dospit(id)
{
var stringstr=测试数据 (2007-2008-1)-00100010-0092015-1#60高等数学 (2007-2008-1)-01102150-0082256-1#61测试数据 (2007-2008-1)-00100010-0092015-1#62高等数学 (2007-2008-1)-01102150-0082256-1#63……}传入id为60、61、62……,例如传入60,返回“测试数据 (2007-2008-1)-00100010-0092015-1”传入61 返回 “高等数学 (2007-2008-1)-01102150-0082256-1”

解决方案 »

  1.   


    <script>
    function dospit(id) 

    var str="测试数据 (2007-2008-1)-00100010-0092015-1#60高等数学 (2007-2008-1)-01102150-0082256-1#61测试数据 (2007-2008-1)-00100010-0092015-1#62高等数学 (2007-2008-1)-01102150-0082256-1#63";
    alert(str.substring(str.indexOf(id)-38,str.indexOf(id)-1));
    } </script>
    <a href="javascript:dospit(62)">ddd</a>
      

  2.   

    var data = [{id:"1",str:"测试数据 (2007-2008-1)-00100010-0092015-1"},{id:"2",str:"测试数据 (2007-2008-1)-00100010-0092015-1"}];
    function dospit(id)
    {
       for(var i=0;i<data.length;i++)
       {
         if(parseInt(data[i]["id"]) == 1)
         {
           alert(data[i]["str"]); 
         }
       }
    }
    dospit(1);
      

  3.   


    function   showtest(id)
    {
        var stringstr="测试数据 (2007-2008-1)-00100010-0092015-1#60高等数学 (2007-2008-1)-01102150-0082256-1#61测试数据";
        var strreg = "(.*?)#"+id;
        
        alert(stringstr.substring(stringstr.match(strreg).lastIndex-40,stringstr.match(strreg).lastIndex-3))
      
    }
    showtest("61");
      

  4.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm5.aspx.cs" Inherits="CheckBox.WebForm5" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <input type="text" onblur="splitTest(this)" />
            
         </div>
        </form>
        
        
        <script type="text/javascript">
        function splitTest(obj)
        {
            if(obj.value!="")
            {
                var strAll='测试数据 (2007-2008-1)-00100010-0092015-1#60高等数学 (2007-2008-1)-01102150-0082256-1#61测试数据 (2007-2008-1)-00100010-0092015-1#62高等数学 (2007-2008-1)-01102150-0082256-1#63';
                var strArray=strAll.split('#'+obj.value);
               
                var index=strArray[0].lastIndexOf('#')+3;
                alert(strArray[0].substring(index,strArray[0].length));
            }
        }
        
        </script>
    </body>
    </html>
      

  5.   

    写了一个C#的(测试通过) 特点是不必关心id长度和要得到的那个值的长度 js的我调完了贴出来
    private string GetMessage(int id)
    {
    id=61;//这里设61为测试值
    string result="No Result!";
    string str="测试数据 (2007-2008-1)-00100010-0092015-1#60高等数学 (2007-2008-1)-01102150-0082256-1#61测试数据 (2007-2008-1)-00100010-0092015-1#62高等数学 (2007-2008-1)-01102150-0082256-1";
    try
    {
    string[] tempArr=str.Split('#');
    if (tempArr==null)
    {
    return;
    }
    for (int i=0;i<tempArr.Length;i++)
    {
    string idStr=System.Text.RegularExpressions.Regex.Replace(tempArr[i],@"(\d+)?[^\d]*","$1",System.Text.RegularExpressions.RegexOptions.IgnoreCase|System.Text.RegularExpressions.RegexOptions.Singleline);
    if (idStr==null || idStr==string.Empty)
    {
    continue;
    }
    if (int.Parse(idStr)==id)
    {
    result=tempArr[i].Substring(idStr.Length);
    break;
    }
    }
    }
    catch (System.Exception ex)
    {
    throw ex;
    //或者不用上面直接抛出异常的方式 改为返回异常结果 即:result=ex.Message;
    }
    return result;
    }
      

  6.   

    function   showtest(id)
    {
        var stringstr = "测试数据 00010-0092015-1#60高等数学 0082256-1#61测试数据 21313131-1#62测试数据";
        var strreg = new RegExp( "(.*?)#(\\d+)","ig");
       
        while(strreg.exec(stringstr))
        {
            if(RegExp.$2==id)
            {
               alert(RegExp.$1);
               return;
            }
        }
     
    }
    showtest("61");