2017-09-06 19 views
1

私は数字だけを受け入れる入力フィールドを持っていますが、これはchrome内でのみ機能します。 IE11で同じ入力フィールドを試すと、すべてのタイプの入力を受け入れます。数値入力のみ、角度IE11

<input type="number"/> 

私も勝利で試したことがあります。このため

<input type="text" pattern="[0-9]*"/> 

周りの任意の仕事? IE11は魔法のようなものです。

は自分自身を解決:私のコンポーネントで

追加

<input type="text" (keypress)="isNumberKey($event)"/> 

そして:

isNumberKey($event) { 
    let charCode = ($event.which) ? $event.which : $event.keyCode; 
    console.log('Char code is ---> ', charCode); 
    if (charCode > 31 && (charCode < 48 || charCode > 57)) 
     return false; 

    return true; 
    } 

答えて

0

あなたはあなたの第二の例と非常に接近していました。これはトリックを行います:

<input type="text" pattern="^[0-9]*$"/> 
+0

それは、それを試してみました。 –

+0

あなたは正しいです、私は急いでRegexを検証しましたが、問題はそれに関連しています。 – Fjut

+0

精度のために、両方の正規表現パターンは、HTMLフォームの検証に関して、IE11のChromeで動作します。彼らがしないのは、無効な値の入力を防ぐことです。 – Fjut

関連する問題