我是 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">
任何帮助将不胜感激!