I am using JQuery Validation Engine library. I am trying to create a custom validation either through Regex or custom method to validate the field input.
I would suggest this validation name as custom integer validation containing integer range or some integers separated by comma(s) or combination of both.
Here is the criteria:
8912-18 or 15-18 but not 19-3 (range should between min to max)1-6, 5, 8-13, 7. But not -3-5 (not -3) or 3-7-, 10 (not 7-)I tried this custom rule:
"integerRangeComma": {
"regex": /^(([0-9]+)([\,]([0-9]+))?|([\,]([0-9]+))?)$/,
"alertText": "* Invalid floating decimal number"
},
My intended purpose to do the above validation is:
I have a list of total documents lets suppose 12. I created a text-box in the form to accept what document no, he likes to add in his profile. And the above criteria should be applied on that.
My next question would be, I also must validate that numbers entered by user do not greater than 12 (my presumption).
How can I achieve this either through creating my own custom rule or something else.
Thanks in Advance.
Doing maths with regex is always a pain, you should parse it and check the not greater than 12 condition with code. However, it is possible for this simple example by using
[0-9]|1[12]
Your combination for an input of a single integer or a range will then be
number(-number)?
and for one input, or two commaseparated ones is
input(\s*,\s*input)?
If you want more than two, use * for unlimited or {0,n} for limited repetion instead of the ?.
So together, you get
var integerRangeComma = {
"regex": /^([0-9]|1[12])(-[0-9]|-1[12])?(\s*,\s*([0-9]|1[12])(-[0-9]|-1[12])?)?$/,
"alertText": "a single page number until 12 or an interval in them, or two of those separated by a comma"
};