国家码会自动加在手机号码前
country code will automatically added before mobile number
如果任何一个在输入框中仅输入数字,例如:01234567890
(国家代码共 13 位)然后自动在手机号码前添加 88
但如果任何号码带有 8801234567890
它不会在数字之前添加。另一个如果输入 1234567890
总共 10 个数字然后在数字前添加 880
。如何解决?我尝试增加价值但它不起作用。不是每次都只需要我的条件
$(document).ready(function() {
$('#phone').keyup(function() {
let total_length = this.value.length;
if(total_length='11'){
$("#phone").val("88"+$("#phone").val());
}
else if(total_length='10'){
$("#phone").val("880"+$("#phone").val());
}
else{
$("#phone").val();
}
});
$.validator.addMethod("countryValid", function(value, element) {
return this.optional(element) || /^(?:\+88|88)?(01[3-9]\d{8})$/i.test(value);
}, "Please enter valid phone no.");
$("#my_form").validate({
rules: {
phone : {
required: true,
number: true,
countryValid: true
}
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.3/jquery.validate.min.js"></script>
<form id="my_form">
<input type="text" name="phone" id="phone" />
<br><br>
<button type="submit">Submit</button>
</form>
通过将 keyup
替换为 change
并从 =
(赋值运算符)
添加 ==
(等于)来修复它
$('#phone').change(function() {
let total_length = this.value.length;
if(total_length=='11'){
$("#phone").val("88"+$("#phone").val());
}
else if(total_length=='10'){
$("#phone").val("880"+$("#phone").val());
}
else{
$("#phone").val();
}
});
感谢@CherryDT 的帮助。
如果任何一个在输入框中仅输入数字,例如:01234567890
(国家代码共 13 位)然后自动在手机号码前添加 88
但如果任何号码带有 8801234567890
它不会在数字之前添加。另一个如果输入 1234567890
总共 10 个数字然后在数字前添加 880
。如何解决?我尝试增加价值但它不起作用。不是每次都只需要我的条件
$(document).ready(function() {
$('#phone').keyup(function() {
let total_length = this.value.length;
if(total_length='11'){
$("#phone").val("88"+$("#phone").val());
}
else if(total_length='10'){
$("#phone").val("880"+$("#phone").val());
}
else{
$("#phone").val();
}
});
$.validator.addMethod("countryValid", function(value, element) {
return this.optional(element) || /^(?:\+88|88)?(01[3-9]\d{8})$/i.test(value);
}, "Please enter valid phone no.");
$("#my_form").validate({
rules: {
phone : {
required: true,
number: true,
countryValid: true
}
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.3/jquery.validate.min.js"></script>
<form id="my_form">
<input type="text" name="phone" id="phone" />
<br><br>
<button type="submit">Submit</button>
</form>
通过将 keyup
替换为 change
并从 =
(赋值运算符)
==
(等于)来修复它
$('#phone').change(function() {
let total_length = this.value.length;
if(total_length=='11'){
$("#phone").val("88"+$("#phone").val());
}
else if(total_length=='10'){
$("#phone").val("880"+$("#phone").val());
}
else{
$("#phone").val();
}
});
感谢@CherryDT 的帮助。