2016-11-26 3 views
0

この非常に基本的な正規表現 で既に2日間を費やしています。入力を4文字だけ正確に検証したいとします。上限は&です。小文字はありません。数字も特殊記号もありません。正しいもの。 問題をキャッチできません。 .valueないinnerHtmlRegExpは間違ってユーザーの入力を無効にします

ワーキングスニペットを入力text型の値を選ぶ使用するには

<!DOCTYPE html> 

<HTML><HEAD> 
<TITLE> 
RegEx Test 
</TITLE> 
</HEAD> 
<BODY> 
    <P> 
     <FORM action="cgi-bin/page2.py" 
      Type something:<input Id="usrInput" TYPE="text" VALUE="" onblur="chkInput()"> 
        <input Id="ts" TYPE="number" NAME="ts" value=0> 
        <input id="submit" type="submit" value="Go" > 
     </FORM> 
    </P> 
    <script> 
     function chkInput(){ 
     var myRgx=new RegExp(/^[a-zA-Z]{4}$/); 
     var input=document.getElementById("usrInput").innerHTML; 
      var rslt=myRgx.test(input); 
      alert(rslt) 
     } 

    </script> 
</BODY> 

+0

動作しているようです。しかし、入力が正確に4文字であることを確認する必要があります。あなたの正規表現はそれ以外の場合は一致しません – starcorn

+0

入力ボックスの値を取得するために、innerHTMLではなくinput要素の 'value'プロパティを使用する必要があります。 Answer –

答えて

1

---

おかげ

pkjを: は以下help.Codeしてください:

function chkInput() { 
 
    var myRgx = new RegExp(/^[a-zA-Z]{4}$/); 
 
    var input = document.getElementById("usrInput").value; 
 
    var rslt = myRgx.test(input); 
 
    console.log(rslt) 
 
}
<FORM action="cgi-bin/page2.py"> 
 
    Type something: 
 
    <input Id="usrInput" TYPE="text" VALUE="" onblur="chkInput()"> 
 
    <input Id="ts" TYPE="number" NAME="ts" value=0> 
 
    <input id="submit" type="submit" value="Go"> 
 
</FORM>

+0

こんにちはAJさん、ありがとうございました。それはうまくいきます。あなたは私の一日の男を作った! – Jayk

+0

"入力タイプのテキストの値を選択するには、innerHtmlではなく.valueを使用します。"これはbullet.SOLVEDです。 – Jayk

+0

@Jayk:問題が解決されたと聞いて嬉しいです。 :) –

関連する問題