2017-09-16 6 views
-2

私はpatientsform(私はテーブルで行いました)を作成して、いくつかの個人的な質問をしなければなりません。たとえば、患者番号。誰かが自分の番号を入力した後、その番号に8個の数字が含まれているかどうかを調べる必要があります(Javascriptで)。 8つの数字が含まれている場合、入力フィールドは緑色になり、入力が間違っている場合は、メッセージが表示されます(「8つの数字を持つ患者番号を入力してください」)。 正しいコードを取得しようとした2つの方法がありますが、どちらも機能しませんでした。誰か助けてくれますか?先進的でありがとう!入力が正しいかどうかチェックし、入力フィールドに色を付けてください。

function checkpnummer() { 
    var pnummer = $('#pnummer').val; 
    if(pnummer != /^([0-9]a{8})$/) { 
     pnummer.style.color = "#CD5C5C"; 
     alert("Vul een patientnummer in dat bestaat uit 8 cijfers."); 
    } 

    else { 
     pnummer.style.color = "#00FA9A"; 
     $('#pnummer').focusout(pnummer); 
    } 
} 
+0

これは文字列を正規表現にマッチさせる方法ではありません。また、 'val'は関数です。関数を正規表現オブジェクトと比較しています。代わりに_string_をマッチさせる必要があります。 – Xufox

+0

style.colorにアクセスする構文も間違っています。 – Nisarg

+1

[jQueryラーニングセンター](https://learn.jquery.com)、[MDN:Regular Expressions Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) – Andreas

答えて

0
私はあなたがそうここにjqueryのを使用していることがわかります

がある正しいjQueryの溶液 - 私が持っている

function checkpnummer() { 
if(!$('#pnummer').val().match(/^\d{8}$/)) { 
    $('#pnummer').css({"background-color": "#CD5C5C"}); 
    alert("Vul een patientnummer in dat bestaat uit 8 cijfers."); 
} 
else { 
    $("#pnummer").css("background-color", "#00FA9A"); 
    $("#pnummer").focusout(); 
} 
} 

あなたのコードに間違いが少ないことを指摘 -

  • の間違った使用方法
  • 不正な正規表現
  • 正規表現に一致する要素($("element").css("property": "value")を使用)
  • 誤った道のCSSを変更する誤った方法(match()メソッドを使用します)

私はこれが役立つだろう願っています。

+0

ありがとう@ anu-007!残念ながら、私のコードはまだ動作していません。私はjqueryに関する経験が少ないですが、私のjqueryスクリプトをどのように起動するか($(関数)...)についてもっと教えてください。 – Maaike

+0

あなたはcheckpnummer()関数を呼び出さなければなりません。これについては、このコードをあなたのhtmlの ''で使用することをお勧めします。ボタンをクリックすると、checkpnummer()関数が呼び出されます。 –

+0

入力が正しいかどうかを確認するためにボタンを使用することはできません。正規表現だけが入力と照合されるべきです。入力が正しい場合、入力フィールドは緑色になり、それ以外の場合は赤色になります。これは私がCSSで使用したコードですが、このコードをhtml(入力フィールド)とjs(正規表現)とリンクするコードを見つけることができませんでしたので、私はそれを使用しませんでした。 入力:無効{ 背景色:#ffdddd; } 入力:有効{ 背景色:#ddffdd; } – Maaike

0

var pnummer = document.getElementById("pnummer").valueとしてみてくださいif(pnummer.match(/^([0-9]a{8})$/)) { //true } else { //false }文字列の一致が0aaaaaaaaで、このコード、1aaaaaaaaなど

関連する問題