Separte a sting and put int variables

I have the following function:

<script language=JavaScript>
  ctrl =;

The "ctrl" value becomes "Equip&Descr=Descr"

I need to separate the string that´s in the "crl" into 2 more variables. I need that it reads "Equip" and put´s it in a variable and then reads "Descr" and put´s it in anther variable. How can I do this ???
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Hi fabyola,

var var1 = ctrl.substring(0, ctrl.indexof("&"));  // <-- should be "Equip"
var var2 = ctrl.substring(ctrl.indexof("=")+1);  // <-- should be "Descr"

Joe P

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Hi fabyola,

Here's another way.  Say you have:

var ctrl = "Equip&Descr=Description";

You can do this:

var v1 = ctrl.split("=");

Now, v1[0]="Equip&Descr", and v1[1]="Description"

Then, you can do this:

var v2 = v1[0].split("&");

Of course, now v2[0]="Equip" and v2[1]="Descr" .

Put it all together and here it is:

var s1=ctrl.split("&")[0];  // <-- should be "Equip"
var s2=ctrl.split("&")[1].split("=")[0];  // <-- should be "Descr"
var s3=ctrl.split("=")[1];  // <-- should be "Description"

Peace and joy.  mvan
Hehe, here's a nasty one:


var ctrl = "Equip&Descr=Description";

//  Next line creates variable named Equip, and sets it = 'Description' !!
eval("var "+ctrl.split("&")[0]+"='"+ctrl.split("=")[1]+"'");
alert("Equip = "+Equip);

//  Next line creates variable named Descr, and sets it = 'Description' !!
eval("var "+ctrl.split("=")[0].split("&")[1]+"='"+ctrl.split("=")[1]+"'");
alert("Descr = "+Descr);


Pro'ly not good programming practice.  ;-)

Peace and joy.  mvan
Ryan ChongBusiness Systems Analyst , ex-Senior Application EngineerCommented:
or you can try this function:

function getParameter ( queryString, parameterName ) {
      //Use like UniqueID = getParameter ( , "uid" );

      // Add "=" to the parameter name (i.e. parameterName=value)
      var parameterName = parameterName + "=";
      if ( queryString.length > 0 ) {
            // Find the beginning of the string
            begin = queryString.indexOf ( parameterName );
            // If the parameter name is not found, skip it, otherwise return the value
            if ( begin != -1 ) {
                  // Add the length (integer) to the beginning
                  begin += parameterName.length;
                  // Multiple parameters are separated by the "&" sign
                  end = queryString.indexOf ( "&" , begin );
                  if ( end == -1 ) {
                        end = queryString.length;
                  // Return the string
                  return unescape ( queryString.substring ( begin, end ) );
            // Return "null" if no parameter has been found
            return "null";

use it like:

alert("Equip = "+getParameter(, "Equip"));
alert("Descr = "+getParameter(, "Descr"));

hope this helps too, cheers
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.