Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Anyway to check if an 'id" is a GUID?

Posted on 2009-05-15
4
864 Views
Last Modified: 2012-05-07
Anyway to check and see if this "id" actually contains a GUID. Sometimes the ID holds ";nbsp" and code fails.

 if (e.Item is GridEditableItem)
            {
                GridEditableItem editedItem = e.Item as GridEditableItem;

                string id = editedItem["Id"].Text;
             
                Basket basket = Basket.Items.FindById(new Guid(id)); //**fails here if ID is not GUID
0
Comment
Question by:Camillia
  • 2
4 Comments
 
LVL 7

Expert Comment

by:svelluto
ID: 24397016
Why don't you check the length of the 'id' string after you set it.

View Code Sample.

You could even check if the id string is the same length as the GUID.

Or if you would like to use REGEX to test for a GUID,
here is a good example:

http://geekswithblogs.net/jawad/archive/2005/05/20/GuidVerifier.aspx



if (id.length > 6) //  - 6 Characters
{
 
Basket basket = Basket.Items.FindById(new Guid(id));
 
}
 
//Another Example
 
if (id.length == guid.length) //guid.length could be a number
{
 
Basket basket = Basket.Items.FindById(new Guid(id));
 
}

Open in new window

0
 
LVL 7

Author Comment

by:Camillia
ID: 24397200
let me try.
0
 
LVL 7

Accepted Solution

by:
ajolly earned 500 total points
ID: 24398143
Try this
public static bool isValidGuid(String guid)
{
    bool isValid = false;
    Regex re = new Regex(@"^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$", RegexOptions.IgnoreCase);
    if (re.IsMatch(guid))
    {
        isValid = true;
    }
    return isValid;
}

Open in new window

0
 
LVL 7

Author Comment

by:Camillia
ID: 24398602
I did id.Length == 36 but i think ajolly's method might be better. Let me try.
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question