<script type="text/javascript">
function check_phone(){
var x=$('#phone1').val();
var landline = /^([0-9]{4}[\-]{1}[0-9]{7})$/;
var mobile = /^(?:\([2-9]\d{2}\)\ ?|[2-9]\d{2}(?:\-?|\ ?))[2-9]\d{2}[- ]?\d{4}$/;
if (landline.test(x))
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
else if(mobile.test(x))
alert('second condition');
$('#phone1').css('border','2px solid #00a500');
else
$('#phone1').css('border','2px solid #a50000');
alert('third condition');
}
</script>
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />
输入电话号码后按Tab键时,它不会显示check_phone()函数的警告框。它甚至进入功能并检查它?它根据函数中提到的css甚至没有设置文本框的样式。我该怎么知道?请帮忙
答案 0 :(得分:2)
所有if块都没有结束括号)
并将它们放在大括号中
if (landline.test(x))
{
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
}
else if(mobile.test(x))
{
alert('second condition');
$('#phone1').css('border','2px solid #00a500');
}
else
{
$('#phone1').css('border','2px solid #a50000');
alert('third condition');
}
同时更改
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />
答案 1 :(得分:1)
提供 ID ..您刚刚提供了名称。
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />
还为if()
if (landline.test(x) {
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
}
else if(mobile.test(x) {
alert('second condition');
$('#phone1').css('border','2px solid #00a500');
}
else{
$('#phone1').css('border','2px solid #a50000');
alert('third condition');
}
答案 2 :(得分:1)
您错过了每个条件(
的右括号if (landline.test(x)
,如果没有{}
,它只会执行警示线,而css样式不会成为该条件的一部分所以你应该使用:
if (landline.test(x)) {
alert('first condition');
$('#phone1').css('border','2px solid #00a500');
}
适用于所有条件。
并且还改变了以下行,正如@arunrc指出的那样,你需要给出id
属性来从这样的代码中访问它。
<input type="text" value="" name="phone1" id="phone1" onchange="check_phone()" required />
答案 3 :(得分:1)
你忘了很多右括号和括号。 jsfiddle上的Here a working
example。