2016-11-24 6 views
-1

2文字と数字が正しく入力されたことを検証しようとしています。JavaScript形式の検証パターン

var studentValid = /^[MTWTF][AL][1-9]$/i; 
if (studentValid.test(studentTemp.value)) 
{ 
    alert("true"); 
} 
else 
{ 
    alert("false"); 
} 

しかし、私が入力するものはすべて間違っていますか?

+5

妥当性を検証したいが、あなたに虚偽を与えるものは何ですか?たとえば、値 '' MA9 ''はあなたに真実を与えます。問題はあなたの正規表現にあります。 – Cleared

答えて

1

問題は正規表現(/^[MTWTF][AL][1-9]$/i)です。これはあなたが最初にM、T、W、TまたはFの文字のうちの1つを必要とし、その後にAまたはL、そして最終的に数字(そしてその前後には何もない)

ML4例えばので

AM9、ML0、MMA5、MA99

ながら、WA5、FL9

はあなたに本当の を与えるがしますあなたに虚偽を与える。

これは一致させるパターンですか?例えば、真のあなたを与えるだろうあなたのコードとの有効な値を持つ他には何も問題はありません:正規表現を扱う場合

var studentValid = /^[MTWTF][AL][1-9]$/i; 
var value = 'MA9'; 
if (studentValid.test(value)) 
{ 
    alert("true"); 
} 
else 
{ 
    alert("false"); 
} 

が、あなたがそれを構築するためのツールを使用することは非常に便利なことができるが、https://regex101.com/r/A5FOIh/3をチェックアウト異なるstudentTemp.valueを試して、それらが一致するかどうか確認することができます。

+0

そのリンクをありがとう、非常に便利です。 – Cheese

関連する問題