如果任何一個輸入框只輸入數字,如:(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>
uj5u.com熱心網友回復:
修復它替換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的幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/316066.html
標籤:javascript 查询 验证
