![](/img/trans.png)
[英]How to validate phone number in react that until user give valid phone number button should disabled
[英]How to validate if the input text (in html) is a valid Phone Number when user hits the 11th number?
我有一個輸入框。 如何同時驗證輸入文本是否是有效的電話號碼,恰好是在用戶點擊輸入中的第 11 個數字時?
這是我到目前為止嘗試過的:
function validPhone(phoneNum) // check for valid phone numbers in the format 999-999-9999 { var strPhone = phoneNum.value; var rePhone = /\\d{3}-\\d{3}-\\d{4}/; var blnResult = true; if (strPhone.length !== 0 && (strPhone.length !== 12 || strPhone.match(rePhone) == null)) { blnResult = false; phoneNum.select(); alert("Phone number is invalid. Please try again."); phoneNum.focus(); } return blnResult; };
<input class="form-control" onBlur="validPhone(this)" type="text" name="username" placeholder="Enter Phone number" id="phoneNumberForForgotPassword" data-val-required="نام کاربری را وارد نمائید.">
您可以使用oninput
檢查 input 是否輸入了某些值。
當輸入第 10 個值時,您可以使用alert
但這還不夠,因為在alert
之后,用戶仍然可以輸入更多值。 所以使用maxlength="10"
只允許 10 個數字。
此外,如果您不想只允許text
而是數字,則可以使用.replace(/[^\\d]/, '')
替換任何非數字。 並表明它不是一個數字。
function validPhone(phoneNum) // check for valid phone numbers in the format 999-999-9999 { if (phoneNum.value.match(/[^\\d]/)) { phoneNum.value = phoneNum.value.replace(/[^\\d]/, '') document.querySelector("#demo1").innerHTML = "Sorry numbers only"; } else { document.querySelector("#demo1").innerHTML = ""; } var strPhone = phoneNum.value; var rePhone = /\\d{3}-\\d{3}-\\d{4}/; if (strPhone.length >= 10) { phoneNum.select(); document.querySelector("#demo1").innerHTML ="No more numbers plz, only 10 digits allowed in Phone number."; } document.querySelector("#demo").innerHTML = strPhone.length; };
#demo1 { color: red; }
<input class="form-control" oninput="validPhone(this)" type="text" name="username" placeholder="Enter Phone number" maxlength="10" id="phoneNumberForForgotPassword" data-val-required="نام کاربری را وارد نمائید."> <div id="demo1"></div> <div id="demo"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.