2文字と数字が正しく入力されたことを検証しようとしています。JavaScript形式の検証パターン
var studentValid = /^[MTWTF][AL][1-9]$/i;
if (studentValid.test(studentTemp.value))
{
alert("true");
}
else
{
alert("false");
}
しかし、私が入力するものはすべて間違っていますか?
2文字と数字が正しく入力されたことを検証しようとしています。JavaScript形式の検証パターン
var studentValid = /^[MTWTF][AL][1-9]$/i;
if (studentValid.test(studentTemp.value))
{
alert("true");
}
else
{
alert("false");
}
しかし、私が入力するものはすべて間違っていますか?
問題は正規表現(/^[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
を試して、それらが一致するかどうか確認することができます。
そのリンクをありがとう、非常に便利です。 – Cheese
妥当性を検証したいが、あなたに虚偽を与えるものは何ですか?たとえば、値 '' MA9 ''はあなたに真実を与えます。問題はあなたの正規表現にあります。 – Cleared