vue 如何让文本输入框禁止切换到中文模式,只可以用英文输入法?

新手上路,请多包涵

有个文本框,给它禁用了键盘输入功能,但是在中文输入模式下依旧可以输入,如何让他禁止切换到中文输入模式

阅读 3.3k
2 个回答

方法一:

直接将这个框设为禁止输入, 根据你的组件库文档上设置

方法二:

使用正则, 将所有的的中文全部替换成'':

  • 只匹配中文汉字/^(?:[\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]/
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。

在大部分情况下,input type="password"的时候是切换不了输放法的,所以这就可以有办法可以想了,

我的做法就是放两个input 一个type="pasword"用来接收输入,另外一个用来显示,然后让两个叠在一起,效果还可以,手机上我的输入法也切不了中文输入

https://codepen.io/papersnake/pen/xxajeEr

本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
推荐问题
logo
Microsoft
子站问答
访问
宣传栏