Ich danke Ihnen allen im Voraus. Aus geschäftlichen Gründen können in dieser Eingabe nur Zahlen eingegeben werden, die Plus- und Minuszeichen können nicht eingegeben werden.
Ich wollte ursprünglich den Wert in der Eingabe beurteilen und die Pluszeichen, Minuszeichen und redundanten Punkte manuell löschen, aber ich habe festgestellt, dass der Wert der Eingabe in eine leere Zeichenfolge umgewandelt wurde, sobald der eingegebene Wert unzulässig ist. Auf diese Weise kann ich den Wert in der Eingabe nicht erhalten.
Ich habe lange darüber nachgedacht, kenne aber die Lösung nicht. Bitte helfen Sie mir, danke~
Übrigens habe ich die Seite in Vue geschrieben~~~
用正则匹配 '^[-]?[0-9]*\.?[0-9]+(eE?[0-9]+)?$'
可以用这种方式,监听input值的变化,发现验证不过就提示。
把你的js贴出来看看
onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"
type=number应该是无法直接限制用户不能输入正负号、e、多个小数点的。
还是需要通过input的value来判断。
至于输入的值不合法,input的value被转化成空字符串的问题,
可以将input的type改成text,然后使用正则和replace去除非数字和多个小数点就行了。
那你可以用 v-model绑定一个值,然后通过watch 来监听这个值,但你找到有非法的值得时候,删掉非法的字符串即可
<input type="tel" />