You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整正则表达式及Blazor数字输入框禁止输入'e'与小数点

解决方案

一、正则表达式调整

你原有的正则允许空格且支持零字符输入,不符合整数输入的严格要求。要仅允许0-9的数字、禁止小数点和'e',可将正则修改为:

^[0-9]+$
  • ^ 匹配字符串起始位置
  • [0-9]+ 匹配一个或多个0-9的数字(确保输入至少包含一个有效数字)
  • $ 匹配字符串结束位置
    该正则会严格限制输入为纯整数,自动排除小数点、'e'和空格。

二、Blazorstrap 输入事件处理

在NumericOnly方法中,调用e.PreventDefault()即可阻止浏览器执行对应按键的默认输入行为,从而禁止输入'e'和小数点。修改后的代码如下:

private void NumericOnly(KeyboardEventArgs e)
{
    // 阻止输入'e'、小数点
    if (e.Code == "KeyE" || e.Code == "KeyDot")
    {
        e.PreventDefault();
    }
}

如果还需要禁止正负号(输入框默认允许的'-'或'+'),可扩展判断条件:

if (e.Code == "KeyE" || e.Code == "KeyDot" || e.Code == "KeyMinus" || e.Code == "KeyPlus")
{
    e.PreventDefault();
}

内容的提问来源于stack exchange,提问作者bilpor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 06:05:14