有个文本框,给它禁用了键盘输入功能,但是在中文输入模式下依旧可以输入,如何让他禁止切换到中文输入模式
有个文本框,给它禁用了键盘输入功能,但是在中文输入模式下依旧可以输入,如何让他禁止切换到中文输入模式
在大部分情况下,input type="password"的时候是切换不了输放法的,所以这就可以有办法可以想了,
我的做法就是放两个input 一个type="pasword"用来接收输入,另外一个用来显示,然后让两个叠在一起,效果还可以,手机上我的输入法也切不了中文输入
https://codepen.io/papersnake/pen/xxajeEr
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
6 回答3.1k 阅读✓ 已解决
8 回答4.8k 阅读✓ 已解决
6 回答3.6k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.5k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
方法一:
直接将这个框设为禁止输入, 根据你的组件库文档上设置
方法二:
使用正则, 将所有的的中文全部替换成
''
:/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/
/[\u4e00-\u9fa5|\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/