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

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
LVL 8
CamilliaAsked:
Who is Participating?
 
ajollyConnect With a Mentor Commented:
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
 
svellutoCommented:
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
 
CamilliaAuthor Commented:
let me try.
0
 
CamilliaAuthor Commented:
I did id.Length == 36 but i think ajolly's method might be better. Let me try.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.