Vom Menschen lesbarer Nummernkreis nach Regex konvertieren

Ich habe eine Tabelle, die mithilfe von Datentabellen angezeigt wird. Über jeder Spalte befindet sich ein leeres Textformularfeld, in das Benutzer Begriffe eingeben können, nach denen gefiltert werden soll. Dies funktioniert in allen Textfeldern und auch in Ganzzahlfeldern. Ich mache eine Konvertierung für einige Begriffe, z. B. wenn der Benutzer NULL oder NOT NULL eingibt, konvertiere ich das in den regulären Ausdruck ^ $ oder.

Ich weiß, dass Regex zum Durchsuchen von Textzeichenfolgen vorgesehen ist, aber dies wird von Datatables verwendet, weshalb ich dies tue. Ich möchte, dass Benutzer einen Wert wie "x in y" eingeben und in einen regulären Ausdruck konvertieren können. Ich kann keine Funktion finden, die dies tut. Wenn jemand eine kennt, lassen Sie es mich bitte wissen.

Angenommen, eine Funktion ist noch nicht vorhanden, wird angenommen, dass nur positive Ganzzahlen durchsucht werden, und es werden bis zu 7 Ziffern ausgesprochen. so können 0 - 9.999.999 gesucht werden. Dies kann nur durch das Schlüsselwort to mit Leerzeichen "to" ausgelöst werden.

also so etwas zum starten:

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; 
};

Dies funktioniert mit den Zahlen 0-9, aber wenn man dies erweitert, scheint es ziemlich hässlich zu werden. Ich bin für alle ides. Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage