admin管理员组

文章数量:1405170

I need to restrict/disable end-user to enter space in the input field or text-box field. Currently I am using this code but it's not working properly.

function keyPress(e) { 
        var e = window.event || e;
        var key = e.keyCode;
        //space pressed
         if (key == 32) { //space
         return;
         }
        }

I need to restrict/disable end-user to enter space in the input field or text-box field. Currently I am using this code but it's not working properly.

function keyPress(e) { 
        var e = window.event || e;
        var key = e.keyCode;
        //space pressed
         if (key == 32) { //space
         return;
         }
        }
Share Improve this question asked Apr 17, 2019 at 10:41 Ankita salveAnkita salve 131 silver badge6 bronze badges 1
  • 4 Why don't you just use validation to tell the user that what they entered is incorrect? – VLAZ Commented Apr 17, 2019 at 10:43
Add a ment  | 

5 Answers 5

Reset to default 3

Try keydown instead of keypress.

function keyDown(e) { 
  var e = window.event || e;
  var key = e.keyCode;
  //space pressed
   if (key == 32) { //space
    e.preventDefault();
   }
         
}
<input type="text" onkeydown="keyDown(event)" />

Edit

If you want to prevent to insert pasted text that contains whitespace you could use the following code:

function keyDown(e) { 
    var e = window.event || e;
    var key = e.keyCode;
    //space pressed
    if (key == 32) { //space
        e.preventDefault();
    }
}

function checkWhitespace(event)
{
	var data = event.clipboardData.getData("text/plain");
    var isNullOrContainsWhitespace = (!data || data.length === 0 || /\s/g.test(data));
  
    if(isNullOrContainsWhitespace)
    {
  	  event.preventDefault(); 
    }
  
}
<input type="text" onkeydown="keyDown(event)" onpaste="checkWhitespace(event)" />

<!-- Javascript  -->
<!-- prevent space in text box by  -->
function RestrictSpace() {
  if (event.keyCode == 32) {
    return false;
  }
}

<!--preventing copy and pasting to text box-->
function preventcopypaste(event) {
  var data = event.clipboardData.getData("text/plain");
  var isNullOrContainsWhitespace = (!data || data.length === 0 || /\s/g.test(data));

  if (isNullOrContainsWhitespace) {
    event.preventDefault();
  }

}
<!-- HTML  -->
<input type="text" onkeypress="return RestrictSpace()" onpaste="preventcopypaste(event)" />

Try this,

function keyPress(e) { 
    var e = window.event || e;
    var key = e.keyCode;
    //space pressed
    if (key == 32) { //space
        return false;
    }
    return true;
}

Try this code onkeypress event of textbox

<input type="text" onkeypress="keyDown()"/>

<script>
function keyDown(e) { 
  var e = window.event || e;
  var key = e.keyCode;
  //space pressed
   if (key == 32) { //space
    e.preventDefault();
   }
         
}
</script>

// Disable space in inputs
    const no_space_input = document.querySelectorAll('input.nospace');
    no_space_input.forEach(element => {
        element.addEventListener('keydown', (event) => {            
            if (event.keyCode === 32) {
                event.preventDefault();
                return false;
            }
        });
    });

本文标签: disable space bar or paste a space using JavaScript or jQueryStack Overflow