我在角工作的登錄表單上。用戶可以登錄電子郵件/電話。我需要在單個文本框中驗證電子郵件/電話。
現場情景:
Facebook的實現在登錄同一類型的功能。我們可以登錄Facebook通過電子郵件/電話。但根據研究,Facebook通過執行服務器端驗證而不是客戶端驗證來驗證用戶數據。
到目前爲止已經試過:
function validate() {
var textBoxValue = document.getElementById('emailphone').value;
var emailPattern = /^[a-z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)[email protected][a-z][a-zA-Z-0-9]*\.[a-z]+(\.[a-z]+)?$/;
if(textBoxValue == '') {
alert('Please enter value');
return false;
} else if(isNaN(textBoxValue)) {
if(!(textBoxValue.match(emailPattern))) {
alert('Please enter valid email');
return false;
}
} else {
if(textBoxValue.length != 10) {
alert('Please enter valid phno');
return false;
}
}
}
<input type="text" name="emailphone" id="emailphone"/>
<input type="submit" value="Validate" onclick="validate()">
我能夠用純JavaScript來實現這一功能,但我想用ng-pattern
實現它的角或者是否有任何在Angular中解決問題。
我在SO上發現了這篇文章,但沒有按照我的預期工作。
Validation for email or phone number for same text field in angularjs
https://codepen.io/rpdasilva/pen/DpbFf我最喜歡的手機指令。在你的情況下不完全適用,但它可能有助於看一看。 – StephanieQ
你在其他問題的答案中發現了「不是每個人的期望值」?因爲這非常接近這個問題的完全重複。 –
@MikeMcCaughan驗證不按我的預期工作。當我嘗試鍵入字母表時,它向我顯示錯誤的錯誤消息,該電話號碼無效,因爲我正在嘗試輸入電子郵件。 –