私は JavaScript が初めてで、HTML と JavaScript でフォームを作成する作業を行っています。この作業では、前のフィールドに入力されたテキストに応じて、入力の形式を検証しようとしました。
私が試しているのは、国「オーストラリア」が「国」テキストボックスに入力された場合、「電話」テキストボックスが (00)00000000 の形式に制限され、「電話」テキスト以外の国である場合です。ボックスは、+61 などの後に + と国コードを含む国際番号の形式でフォーマットする必要があります。
私はこれまでにこれだけの機能を実行してきました:
<script>
document.getElementById('txttelephone').onchange = function()
{
var num1 = document.getElementById('txttelephone').value,
country = document.getElementById('txtcountry').value,
regex;
if (country == "Australia" || country == "australia")
{
regex = /\(\d{2}\)\d{8}/;
}
else
{
regex = /\+\d{15}/;
}
if (!num1.match(regex))
{
alert('That is not a correct telephone number');
}
}
</script>
これは、「電話」テキスト ボックスの文字列の長さを 12 文字に制限するために行った機能ですが、市外局番が (00)00000000 の形式で角かっこの間に含まれていることを確認するためにまだ検証が必要です。また、国がオーストラリア以外の場合 (国コードを含む国際番号) に + が含まれていることを検証します。
関数を使用する必要があるHTMLは次のとおりです。
<b>Country:</b> <input type="text" id="txtcountry" name="country">
<br>
<b>Telephone:</b> <input type="text" id="txttelephone" name="telephone">
どんな助けでも大歓迎です!