Converter intervalo de números legíveis por humanos em Regex

Eu tenho uma tabela que é exibida usando as tabelas de dados, acima de cada coluna eu tenho um campo de formulário de texto vazio que os usuários podem digitar em termos para filtrar. Isso funciona bem em todos os campos de texto e funciona bem em campos inteiros também. Estou fazendo alguma conversão para alguns termos como se o usuário digitasse NULL ou NOT NULL por exemplo eu converto isso para o regex ^ $ ou.

Eu sei regex destina-se a pesquisar seqüências de caracteres de texto, mas isso é o que usa dados de dados e é por isso que estou fazendo isso. O que eu quero é que os usuários possam digitar um valor como "x para y" e converter isso em uma expressão regular. Não consigo encontrar uma função que faça isso, se alguém souber de um, por favor me avise.

Supondo que uma função ainda não exista, suponha que somente números inteiros positivos serão pesquisados ​​e digamos até 7 dígitos. então 0 - 9.999.999 podem ser pesquisados. Além disso, a única maneira que isso é acionado é pela palavra-chave com espaços "para".

então algo assim para começar:

function convertNumRangeRegex(s){

if(s.indexOf(" to ") != -1){
var range = s.split(" to ");
lowRange = Number(range[0]);
highRange = Number(range[1]);   

if(lowRange >= 0 && lowRange < 10 && highRange < 10){
        s = "^[" + lowRange + "-" + highRange + "]$";
}};


return s; 
};

Isso funciona com números de 0 a 9, mas expandir isso parece que ficaria muito feio. Eu sou para qualquer ides. Obrigado.

questionAnswers(2)

yourAnswerToTheQuestion