如何让文本框只能输入英文,例如type= "password"?



例如,我有三种输入模式(中文、日文、英文(当我以类型="0"输入时;密码",只能使用英语,我无法更改输入模式。现在我想要这样的文本框,但不使用type="密码";,只能使用英语模式,我该怎么做?

如果我理解正确,像这样的东西应该可以工作

在您的HTML 中

<textarea name="textarea" rows="10" cols="50">Write something here</textarea>

在Javascript 中

let text = document.querySelector('textarea');
const pattern = /^[a-zA-Z0-9()*_-!#$%^&*,."'][]+$/;
text.addEventListener('keyup',()=>{
if(!pattern.test(text.value)) {
alert('please use only latin letters')
}
})```

它是一个在中随处使用的组件

const MultiLangualInput= ({lan}) => {
const EnglishMode = (event) => {
let flag = false;
var cahrcode = event.charCode;
flag = (cahrcode == 32) ||
(48 <= cahrcode && cahrcode <= 57) ||
(65 <= cahrcode && cahrcode <= 90) ||
(97 <= cahrcode && cahrcode <= 122);
if (!flag)
event.preventDefault();
}
const otherLanguage = (event) => {
console.log(event.charCode)
let flag = false;
var cahrcode = event.charCode;
flag = (cahrcode == 32) ||
(48 <= cahrcode && cahrcode <= 57) ||
(65 <= cahrcode && cahrcode <= 90) ||
(1570 <= cahrcode && cahrcode <= 1594);
if (!flag)
event.preventDefault();
}
return (
<Input onKeyPress={lan==='en'?EnglishMode:otherLanguage}>
</Input>
);
};
export default MultiLangualInput;

像这样:

const App = () => {
return (
<MultiLangualInput lan='en'>

</MultiLangualInput>
);
};

相关内容

最新更新