我的客户要求如下 1.输入字段应为文本 2.不应包含字符 3.范围应为0-100 4.输入格式为99.99
我们正在使用角度7。模式不适用于验证
有人可以帮助我吗?我从一天开始挣扎:( 谢谢!
答案 0 :(得分:0)
要获得预期的结果,请使用keyup
事件的以下选项
component.html
<input type="text" (keyup)="onKeyup($event)" />
component.ts
onKeyup(e) {
const val = e.target.value.split(".");
if (!val[1]) {
e.target.value =
val[0].split("").length > 2
? e.target.value.substr(0, e.target.value.length - 1)
: e.target.value;
} else {
e.target.value =
val[1].split("").length > 2
? val[0] + "." + val[1].substr(0, val[1].length - 1)
: e.target.value;
}
}
工作代码示例以供参考-https://codesandbox.io/s/angular-p1gh1
使用HTML和javascript更新代码
codepen-https://codepen.io/nagasai/pen/xoLqdN?editors=1010
function onKeyup(e) {
const val = e.target.value.split(".");
if (!val[1]) {
e.target.value =
val[0].split("").length > 2
? e.target.value.substr(0, e.target.value.length - 1)
: e.target.value;
} else {
e.target.value =
val[1].split("").length > 2
? val[0] + "." + val[1].substr(0, val[1].length - 1)
: e.target.value;
}
}
<input type="text" onkeyup ="onKeyup(event)"/>