1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

In Angular 19, on keydown event,Spacebar is not getting ignored

Discussão em 'Angular' iniciado por Vibha, Julho 5, 2025.

  1. Vibha

    Vibha Guest

    I am using Angular 19 keydown event on Textbox. It should allow only numbers and decimals up to 2 places. Valid numbers are: 123.45, 675.1, 12345 etc.

    This works properly for all keys except Spacebar. Even though I have ignored it. On clicking Spacebar, 2 three times it inserts space in Textbox. My code is below:

    onKeyDown = (event:KeyboardEvent): boolean {

    const regex = new RegExp(/^[0-9.]*$/);
    if(!regex.test(event.key) && event.key.length === 1 && event.code !== "Space") {
    event.preventDefault();
    return false;
    }

    const target = event.target as HTMLInputElement;
    const start = target?.selectionStart || 0;
    const value = target.value.substring(0,start)+event.key+target.value.substring(start);

    const newRegex = new RegExp(/^(0|[1-9]\d*)?(\.\d{0,2})?$/
    if(!newRegex.test(value) && event.key.length === 1 && event.code !== "Space") {
    event.preventDefault();
    return false;
    }
    return true;


    }

    Continue reading...

Compartilhe esta Página