Tengo un Regex para la validación de tipo de entrada = "número", pero el problema con mi expresión regular es que permite ingresar el carácter más, ¿cómo evitar ingresar el símbolo más, pero permitir ingresar el signo menos? Por ejemplo, puede ingresar: 123; 11,22; -33; -33.44 pero no se permite ingresar +123 y -0, +0
const deprecatedKeys = /^-+?\D$|^decimal$|^multiply$|^add$|^divide$|^subtract$|^spacebar$/i;La primera parte de su patrón actual es problemática: ^-+?\D$ actualmente coincidiría con un guión entre una y una cantidad ilimitada de veces, pero la menor cantidad posible y un carácter que no sea un dígito. Así que cosas como '-----+' o '-X' también coincidirían.
Si desea permitir un guión inicial opcional y decimales opcionales, puede usar:
^(?!-0$)-?\d+(?:[.,]\d+)?$Además, todas estas alternancias podrían agruparse en un grupo de no captura con un único ancla delantera y trasera:
^(?:(?!-0$)-?\d+(?:[.,]\d+)?|decimal|multiply|add|divide|subtract|spacebar)$