javascript - 在 React js onInput 中处理前导空格和特殊字符
问题描述
我想防止用户在输入字段中输入多个空格和特殊字符。我已经做到了.....但是当用户粘贴包含多个空格的数据时,它可以粘贴我想修剪第一个字母开始前导空格,以防用户写一些东西或粘贴一些东西。我的句柄更改代码在下面提及
handleChange = event => {
//Carret Position
const caret = event.target.selectionStart;
const element = event.target;
window.requestAnimationFrame(() => {
element.selectionStart = caret;
element.selectionEnd = caret;
});
console.log(event.target.value)
// Expression to Match every field except Email
var regExpr = /[^a-zA-Z0-9 ]/g;
var myValue = event.target.value;
var myName = event.target.name;
if (caret == 0 || caret <= 1) {
myValue = myValue.trim();
}
if (myName == "cliaNumber") {
myValue = myValue ? myValue : "";
myValue = myValue.trim();
myValue = myValue.replace(regExpr, "");
} else if (myName == "email") {
myValue = myValue ? myValue : "";
myValue = myValue;
} else if (myName == "officePhoneNum"){
myValue = myValue ? myValue : "";
myValue = myValue;
}else {
myValue = myValue.replace(regExpr, "");
}
this.setState({
pModel: {
...this.state.pModel,
[myName]: myValue.toUpperCase()
}
});
};
我不想同时使用 onInput 或不能用 onInput 替换我的 handleChange。有人可以建议我一些好的解决方案吗?谢谢
解决方案
推荐阅读
- python - 输入不触发 if 语句
- python - 检查属性是否为无的python条件
- c - 为什么我会无效使用 void 表达式?
- git - EC2 | SSH 有效,但 GIT 无效
- angular - 在 Angular 2+ 中导入 csv 文件
- intellij-idea - 如何通过手动查询重现:[Amazon](500310) 无效操作:找不到从“未知”到整数的转换函数;
- scala - Vertx Web:如何跨多个文件拆分和组织路由?
- laravel - 如何在实时服务器上编译 laravel 和 vuejs 应用程序或运行“npm run watch”命令?
- python - 我在使用 pygame 跳跃系统时遇到问题。请告诉我我的代码有什么问题
- python - 修改从网页中提取表格信息的代码