事前にありがとうございます。ビジネス上の必要により、この入力には数字のみを入力できます。プラス記号とマイナス記号は入力できません。 当初は入力値を判断してプラス記号、マイナス記号、余分なドットを手動で削除したかったのですが、入力値が不正な場合は入力値が空の文字列 '' に変換されていることがわかりました。この方法では、入力の値を取得できません。 ずっと考えているのですが解決策が分かりません、助けてください、ありがとうございます~ちなみにこのページはvueで書きました~~~
正規表現を使用して '^[-]?[0-9]*.?[0-9]+(eE?[0-9]+)?$' と一致させます
この方法を使用して、入力値の変化を監視できます。検証が失敗した場合は、プロンプトが表示されます。
JS を投稿して見てください
onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"
type=number は、ユーザーが正負の符号、e、および複数の小数点を入力することを直接制限できません。 やはり入力の値によって判断する必要があります。 入力値が不正で空文字列に変換されてしまう問題については、入力の種類をテキストに変更し、正規表現や置換を使用して数字以外や複数の小数点を削除することができます。
その後、v-model を使用して値をバインドし、watch を通じて値を監視できます。ただし、不正な値が見つかった場合は、不正な文字列を削除するだけです
<input type="tel" />
正規表現を使用して '^[-]?[0-9]*.?[0-9]+(eE?[0-9]+)?$' と一致させます
リーリーこの方法を使用して、入力値の変化を監視できます。検証が失敗した場合は、プロンプトが表示されます。
リーリーJS を投稿して見てください
onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"
type=number は、ユーザーが正負の符号、e、および複数の小数点を入力することを直接制限できません。
やはり入力の値によって判断する必要があります。
入力値が不正で空文字列に変換されてしまう問題については、
入力の種類をテキストに変更し、正規表現や置換を使用して数字以外や複数の小数点を削除することができます。
その後、v-model を使用して値をバインドし、watch を通じて値を監視できます。ただし、不正な値が見つかった場合は、不正な文字列を削除するだけです
。<input type="tel" />