Por ejemplo, tengo tres modos de entrada (chino, japonés, inglés) Cuando ingreso el tipo = "contraseña", solo se puede usar inglés y no puedo cambiar el modo de entrada. Ahora quiero que mi cuadro de texto sea así pero no use type = "password", solo se puede usar el modo inglés, ¿cómo puedo hacerlo?
es un componente que usas en todas partes
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;Como esto:
const App = () => { return ( <MultiLangualInput lan='en'> </MultiLangualInput> ); };Si entiendo correctamente algo como esto debería funcionar
en tu html
<textarea name="textarea" rows="10" cols="50">Write something here</textarea>en 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') } })```