手机号码验证
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Visual Studio 2015 C#
作者: 李杨
撰写时间:2019-07-02
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在开发项目中我们经常会遇到手机号码的验证。
要先在视图的页面写一个html样式
<div class="form-group form-row">
<label class="col-form-label col-3" for="telphone">联系电话:</label>
<div class="col-9">
<input type="text" class="form-control" name="telphone" id="telphone" />
</div>
</div>
大致就是这个样式,给input标签一个id。
因为在下面的方法中我们会调用这个ID。
然后验证手机号码的代码如下:
$("#Itelphone").blur(function () {
checkPhone();
})
function checkPhone() {
var phone = document.getElementById('Itelphone').value;
if (!(/^1[34578]\d{9}$/.test(phone))) {
layer.alert("手机号码有误,请重填");
return false;
}
}
$("#telphone").blur(function () {
checkPhone();
})
!(/^1[34578]\d{9}$/:这个就是验证方法调用的正则匹配的电话号码位数的
在这里们会用到正则的匹配。我们也可以来了解一下正则的大致简介
正则表达式,又称为规则表达式。在代码里就是简写为regex 、regexp、RE,正则表达式通常被用来检索、替换那些符合某个规则的文本。
正则表达式呢是对字符串,包括普通字符,例如a到z之间的子母和特殊字符。特殊字符称为“元字符”。对字符串和特殊字符这些的操作的一种逻辑公式,就是用事先定义好的一些特定的字符,或者特定的字符串组合,组成一个规则的“规则字符串”。然后这个规则字符串用来表达对字符串的一种过滤逻辑。
正则表达式也是一种文本模式,这个模式描述的就是在搜索文本时要匹配的一个或者多个字符串。
还有就是如果你要验证电话号码是联通、电信或者移动的话。
/^1[3578][01379]\d{8}$/g;这个就是验证电信号码的正则
/^1[34578][01256]\d{8}$/g;:这个是匹配联通号码的正则
/^(134[012345678]\d{7}|1[34578][012356789]\d{8})$/g;这个是匹配移动号码的正则。
下面就它的方法
function checkMobile(Itelphone) {
var _d = /^1[3578][01379]\d{8}$/g; //电信号码
var _l = /^1[34578][01256]\d{8}$/g; //联通号码
var _y = /^(134[012345678]\d{7}|1[34578][012356789]\d{8})$/g; //移动号码
if (_d.test(Itelphone) || _l.test(Itelphone) || _y.test(Itelphone)) {
$("#formEmployee").removeClass("has-error");
ContactWay = true;
}
else {
$("#formEmployee").addClass("has-error");
ContactWay = false;
}
}
手机号码的验证就讲到这里了。