input各种筛选

本文详细介绍了使用JavaScript控制文本框输入的方法,包括限制输入为数字、小数、英文、中文等,通过正则表达式实现对输入内容的有效过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.标签上直接替换方法:

JS 控制不能输入特殊字符

<input type="text"class="domain"onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')";
this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')

JS 控制文本框只能输入数字

<input onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu = "value=value.replace(/[^0-9]/g,'')">

JS 控制文本框只能输入数字、小数点

<input onkeyup="value=value.replace(/[^\0-9\.]/g,'')" onpaste="value=value.replace(/[^\0-9\.]/g,'')" oncontextmenu = "value=value.replace(/[^\0-9\.]/g,'')">

JS 控制文本框只能输入英文

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z]/g,'')">

JS 控制文本框只能输入英文、数字

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">

JS 控制文本框只能输入中文

<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

JS 控制文本框只能输入中文、英文、数字

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')">

JS 控制文本框只能输入中文、英文、数字、空格

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')">

JS 控制文本框只能输入中文、英文、数字、小数点

<input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')">

2.输入之后立即清除:

验证输入框内不能输入特殊字符,输入就立刻清除

     function cleanSpelChar(th){     
        if(/["'<>%;)(&+]/.test(th.value)){           
        $(th).val(th.value.replace(/["'<>%;)(&+]/,""));     
        } 
    }

3.如果是特殊字符,禁止输入:

验证输入框内不能输入特殊字符,输入前先作判断   

function processSpelChar(){     
    var code;     var character;    
     if(document.all){         
        code = window.event.keyCode;     
    }else{         
        code = arguments.callee.caller.arguments[0].which;    
     }     
    var character = String.fromCharCode(code);     
    var txt = new RegExp(/["'<>%;)(&+]/);    
     if(txt.test(character)){         
            if(document.all){             
            window.event.returnValue = false;       
          }else{            
             arguments.callee.caller.arguments[0].preventDefault();       
      }     
    } 
}

 

Antd Table 支持使用 Input 组件进行筛选,可以在列的配置中设置 `filterDropdown` 属性来自定义筛选菜单。 例如,在一个列上设置了 Input 筛选,可以这样写列的配置: ```jsx { title: 'Name', dataIndex: 'name', filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => ( <div style={{ padding: 8 }}> <Input placeholder="Search name" value={selectedKeys[0]} onChange={(e) => setSelectedKeys(e.target.value ? [e.target.value] : [])} onPressEnter={() => confirm()} style={{ width: 188, marginBottom: 8, display: 'block' }} /> <Button type="primary" onClick={() => confirm()} size="small" style={{ width: 90, marginRight: 8 }} > Search </Button> <Button onClick={() => clearFilters()} size="small" style={{ width: 90 }}> Reset </Button> </div> ), onFilterDropdownVisibleChange: (visible) => { if (visible) { setTimeout(() => this.searchInput.select()); } }, render: (text) => <Highlighter highlightStyle={{ backgroundColor: '#ffc069', padding: 0 }} searchWords={[this.state.searchText]} autoEscape textToHighlight={text.toString()} />, } ``` 上面的配置中,`filterDropdown` 属性用来自定义筛选菜单。它接收一个对象作为参数,包含四个属性: - `setSelectedKeys`:设置选中的筛选项 - `selectedKeys`:当前选中的筛选项 - `confirm`:确认筛选的回调函数 - `clearFilters`:重置筛选的回调函数 在 `filterDropdown` 中,我们使用了 Antd 的 Input 和 Button 组件来实现筛选菜单。其中,Input 的值使用 `selectedKeys[0]`,并在 `onChange` 事件中通过 `setSelectedKeys` 来设置选中的筛选项。按下 Enter 键后,会触发 `confirm` 回调函数进行筛选。点击 Search 按钮和 Reset 按钮,分别会触发 `confirm` 和 `clearFilters` 回调函数。 除了 `filterDropdown` 属性外,还需要设置 `onFilterDropdownVisibleChange` 属性来控制筛选菜单的显示和隐藏。在 `onFilterDropdownVisibleChange` 中,我们使用了 `setTimeout` 函数来延迟调用 `select` 方法,以便在 Input 出现后立即获取焦点。 最后,在 `render` 函数中,我们使用了 `Highlighter` 组件来高亮匹配的文本。 需要注意的是,上面的示例中使用了 `this.state.searchText` 来表示当前的搜索文本。如果需要将搜索结果保存到状态中,还需要定义 `state` 和 `setState` 方法。另外,如果使用函数式组件,需要使用 `useState` 钩子来实现状态管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值