在作程序時遇到js驗證電話號碼的問題,使用正則表達式來操做很簡單的。一塊兒來看一下吧。
javascript
1,這種是比較簡單的驗證號碼:html
電話號碼只能包含」(「、「)」、「-」和數字java
<input type=text onkeyup="value=value.replace(/[^\0-9.-]/g,'');"> 也適合TextBoxajax
2.這種是有點複雜的:正則表達式
下面的區號3-4位,電話號碼7-8位,只能包含」(「、「)」、「-」和數字
<script language="javascript">
var str = "(010)68836694";
var reg =/^(\({0,1}\d{3,4})\){0,1}(-){0,1}(\d{7,8})$/;
alert(reg.test(str));
</script>iphone
3.這種是至關複雜的:spa
要求:
(1)電話號碼由數字、"("、")"和"-"構成
(2)電話號碼爲3到8位
(3)若是電話號碼中包含有區號,那麼區號爲三位或四位
(4)區號用"("、")"或"-"和其餘部分隔開
(5)移動電話號碼爲11或12位,若是爲12位,那麼第一位爲0
(6)11位移動電話號碼的第一位和第二位爲"13"
(7)12位移動電話號碼的第二位和第三位爲"13"
根據這幾條規則,能夠與出如下正則表達式:
(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)
<script language="javascript">
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
</script>
<input type=text name="iphone">
<input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check">htm
本文地址:http://www.blogiso.com/html/ajaxquery/javascript/1501.htmlip