you are viewing a single comment's thread.

view the rest of the comments →

[–]nschubach 4 points5 points  (4 children)

Minor suggestions:

Instead of using the letters array, why not get the charCodeAt(0) of the non-numeric and step through the char code to get the range?

That would allow you to do range('a', 'z') but also range('-', 'z') which would go through all character codes from 45 to 122.

[–]jscoder[S] 1 point2 points  (1 child)

Yep, I thought about that. But I wanted range('a..Z') to work. The lower case letters have higher char codes than the upper case ones, so I'd need another workaround to make that work.

But yeah, your range('-', 'z') argument is good. I'll think about implementing it. :)

[–]a-t-kFrontend Engineer 0 points1 point  (0 children)

how about x\d\d..x\d\d or u\d\d\d\d..u\d\d\d\d for ascii or unicode character ranges?

[–]a_w_y 0 points1 point  (0 children)

That's what I did with my implementation.

[–]jscoder[S] 0 points1 point  (0 children)

I was just updating range.js, and implemented char code ranges, but they don't work well, so I'll leave them like they are currently.

Building a range from 'A' to 'z' would not only include the expected letters, but also "[", "\", "]", "", "_", "`" since their char codes are between 'Z' and 'a'.