在JavaScript中,我需要驗證電話號碼而不使用正則表達式(必須使用字符串操作)。的電話號碼必須在下列格式中的一個:驗證不同格式的電話號碼無正則表達式
- 123-456-7890
- (123)4567890
- (123)456-7890
如果電話號碼不是上面列出的格式之一,我還必須提供警報。
我只能夠設法得到#2的工作,它看起來是這樣的:
function len(gth)
{
if (gth.value.length != 10)
{
alert("Telephone numbers MUST be 10 digits!");
}
}
其倒在HTML它會調用該函數:
<p>Phone: <input id = "phone" onblur="len(this)" name = "Phone" size = "20" type = "text" maxlength = "10"> </p>
如果你不能使用正則表達式,因爲它太複雜,請嘗試regulazy http://osherove.com/blog/2006/7/9/introducing-regulazy-point-click-regular-expression.html它將創造正則表達式爲你 –
你可能需要一個狀態機來查看它char-by-char - 在這個狀態下有效的字符是什麼,以及這個狀態是什麼使我們轉向。注意你當前的代碼會接受「abcdefghij」作爲有效的手機號碼# –
如何寫一個電話號碼有無限的可能性 – Endless