2012-08-09 44 views
0

我一直在使用以下正則表達式進行美國電話號碼驗證,但發現它在IE7中不起作用。我知道的前瞻問題,並能夠通過移動長度問題開始解決密碼驗證,但無法弄清楚如何調整電話號碼之一:美國電話正則表達式,在IE中工作

/^(?:(?:(\s*\(?([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\)?\s*(?:[.-]\s*)?)([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})$/ 

回答

1

我相信你是尋找這個正則表達式:

/^\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*[.-]?\s*([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*[.-]?\s*([0-9]{4})\s*$/ 
+0

歐米茄,我感謝您的及時響應。我用正則表達式不太好,所以我無法確認你發佈的內容正是我所需要的,只是看着它而已。它看起來比原來短得多 - 它是否完成了與原始標準完全相同的標準,只是它對IE7友好?據推測:「美國電話號碼/地區代碼;格式化字符(parens,空格,短劃線)的各種排列。區域代碼可選地包含在parens中。拒絕以0或1開頭的區號和以0開頭的前綴。必須是10位數字,不包括格式字符。「 – 2012-08-09 21:22:52

+0

@AprilG - 是的,它的確如此...... – 2012-08-09 22:29:47

+0

對不起,延遲迴復,我離開辦公室後的第二天,我的最後一個評論。再次感謝,我會插入並看看會發生什麼! – 2012-08-10 15:20:43