I am trying to write a Java Script regex to match if a string contains only allowed characters in following manner –
- String shall have only 0, 1, x or comma (,) in it.
- Each number (0, 1 or “x”) shall be separated by a comma (,)
- There shall be at least one comma separated value (i.e. “0,1” or “0,x,1”)
- The comma shall always be surrounded by numbers or “x” (i.e. “,” or “,0” is invalid )
Is it possible to write a regex for this condition? I am able to do it using java script string split but that does not appear elegant to me. Hope someone could help come up with a regex for above condition.
Although I agree with @SomeKittens that you should show what you tried, you at least provided a fairly detailed spec. Based on my understanding of it, you can use something like this:
var isValid = /^(?:[01x],)+[01x]$/.test(str);
That matches any of these:
And none of these:
If you want to allow matching uppercase Xs in addition to lowercase, add the
/iflag to the regex for case insensitive matching.