Home > OS >  How to restrict apart from alphabets and numbers any other keys (function keys, shortcut keys etc.)
How to restrict apart from alphabets and numbers any other keys (function keys, shortcut keys etc.)

Time:08-27

Jquery:

Is there please an option to start the search only alphabet and number keys have been typed in?

Datatable globally searching should initiate at least with 3 characters

$(document).on('draw.dt','.dataTable', function() {            
    $(".dataTables_filter input").off().on("input keyup", function(e) { 
        // if value length is greater than 3 or user press enter (keycode = 13) on search we will search on datatable
        if(this.value.length >= 3 || e.keyCode == 13 || this.value == "") {
            var dataTable = $('.table').DataTable();
            dataTable.search(this.value).draw();
        }
    }); 
});

CodePudding user response:

Solution:

Check this solution. I hope, it will work.

$(document).on('draw.dt','.dataTable', function() {

$(".dataTables_filter input").off().on("input keyup", function(e) { 
    // if value length is greater than 3 or user press enter (keycode = 13) on search we will search on datatable
    if(this.value.length >= 3 || e.keyCode == 13 || this.value == "") {
        var checkBackspaceEnter =  e.keyCode == 8 || e.keyCode == 13; // if user remove character from search we will search
        var checkAlphabet = (e.keyCode >= 58 && e.keyCode <= 90);   // check on alphabets
        var checkNum = (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105); // check on number values
        var ctrlCombine = (e.keyCode == 17 || ((e.keyCode == 65 || e.keyCode == 67 ) && e.ctrlKey)); // donot search when user hit Ctrl A or Ctrl C 
        checkAlphabet = ((ctrlCombine == false) ? checkAlphabet : false);   

        if ( checkAlphabet || checkNum || checkBackspaceEnter) {
            var dataTable = $('.table').DataTable();
            dataTable.search(this.value).draw();
        }
    }
}); 

});

CodePudding user response:

Use regular expressions with preg_replace to remove letters other than alpha-numeric on every keyup and then check the length of a string.

Hope you get the desired result.

  • Related