Javascript 如何使用jquery检查电话:区号是否正确?
Hy 我需要检查给定的电话区号是否正确。 我创建了一个输入字段,用户可以插入电话区号,如0044order0090等等。 我将输入字段限制为4个字符。 输入4个字符后,我需要检查区号是否正确 它应该做什么。 输入4编号后,脚本应检查以下事项。 输入的号码是否等于Javascript 如何使用jquery检查电话:区号是否正确?,javascript,jquery,Javascript,Jquery,Hy 我需要检查给定的电话区号是否正确。 我创建了一个输入字段,用户可以插入电话区号,如0044order0090等等。 我将输入字段限制为4个字符。 输入4个字符后,我需要检查区号是否正确 它应该做什么。 输入4编号后,脚本应检查以下事项。 输入的号码是否等于“00{number 2 digital only}”,如果它不发出警报(“请输入正确的电话区号”) 我希望我能把我的问题解释清楚。 如何使用javascript或jquery实现这一点?类似的方法应该可以: $('#field').ke
“00{number 2 digital only}”
,如果它不发出警报(“请输入正确的电话区号”)代码>
我希望我能把我的问题解释清楚。
如何使用javascript或jquery实现这一点?类似的方法应该可以:
$('#field').keyup(function() {
var value = $(this).val();
// Restrict length to 4 characters
if(value.length > 4) {
value = value.substring(0, 3);
$(this).val(value);
}
// Test is value equals to "00{number 2 digit only}"
if(/00\d{2}/.test(value)) {
// Is valid
} else {
// Not valid
}
});
我会避免在无效部分使用alert
,因为这样用户每次按键时都会出现一个警报框。类似的功能应该可以:
$('#field').keyup(function() {
var value = $(this).val();
// Restrict length to 4 characters
if(value.length > 4) {
value = value.substring(0, 3);
$(this).val(value);
}
// Test is value equals to "00{number 2 digit only}"
if(/00\d{2}/.test(value)) {
// Is valid
} else {
// Not valid
}
});
我会避免在无效部分使用alert
,因为这会在用户每次按键时提供一个警报框。“0000”是有效的区号吗?它有“00”后跟两个数字。。。但我假设代码是00,然后是数字10或更高
$('input.phone').keyup( function(){
var num = $(this).val(), i = parseInt(num, 10), valid = true;
if(num.length==4 && (i<9 || i>99) ){
//phone number is invalid
}
});
“0000”是有效的区号吗?它有“00”后跟两个数字。。。但我假设代码是00,然后是数字10或更高
$('input.phone').keyup( function(){
var num = $(this).val(), i = parseInt(num, 10), valid = true;
if(num.length==4 && (i<9 || i>99) ){
//phone number is invalid
}
});
你认为00代表国际吗?如果是这样的话(区号通常是国内的),那么美国/加拿大(仅为“1”)呢?是的,我的意思是土耳其的电话通常是0090……请注意,00
不是国际电话的全球惯例,它在大多数国家都有使用,但并非所有国家都有。国家代码的前缀通常是+
,如瑞士的一个号码是+41 56 464……
,伊斯坦布尔的一个号码是+90 212…
。是的,我还需要检查它是否以+90开头。如果是这样,我需要将它转换为0090。大多数国家的国际拨号都使用00
,但美国/加拿大使用001
。法国可以选择00
或19
。其他国家也不同。有些要求您先拨一个代码,然后等待拨号音恢复,然后再继续拨号<代码>+
是唯一安全的赌注。您是否假设00表示国际?如果是这样的话(区号通常是国内的),那么美国/加拿大(仅为“1”)呢?是的,我的意思是土耳其的电话通常是0090……请注意,00
不是国际电话的全球惯例,它在大多数国家都有使用,但并非所有国家都有。国家代码的前缀通常是+
,如瑞士的一个号码是+41 56 464……
,伊斯坦布尔的一个号码是+90 212…
。是的,我还需要检查它是否以+90开头。如果是这样,我需要将它转换为0090。大多数国家的国际拨号都使用00
,但美国/加拿大使用001
。法国可以选择00
或19
。其他国家也不同。有些要求您先拨一个代码,然后等待拨号音恢复,然后再继续拨号<代码>+是唯一安全的赌注。