jQuery 手机号码验证

发布网友

我来回答

5个回答

懂视网

这篇文章主要介绍了jQuery实现手机号正则验证输入及自动填充空格功能,涉及jQuery事件响应、字符串遍历及正则判断等相关操作技巧,需要的朋友可以参考下

本文实例讲述了jQuery实现手机号正则验证输入及自动填充空格功能。分享给大家供大家参考,具体如下:

先来看看运行效果(在删除时连删即可):

具体代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
 <input type="text" id="inp">
 <script src="jquery-1.12.3.min.js"></script>
 <script>
 $(function(){
 $("#inp").keyup(function(){
 /*
 手机号验证时:
 var pattern = /^1[3|4|5|7|8]d{1}sd{4}sd{4}$/;
 pattern.test(str);
 */
 _self = $(this);
 if(_self.val().length == 3 || _self.val().length == 8){
  var str = _self.val()+" ";
  _self.val(str);
 }
 });
 });
 </script>
</body>
</html>

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

通过nodejs使用http模块发送请求(详细教程)

使用jQuery+CSS如何实现table表格

如何使用Vue实现评论框架

热心网友

<p>手机 : <input type="text" maxlength="11" id="shouji"><span></span></p>
<p>密码 : <input type="text" maxlength="11" id="password"><span></span></p>

<script>
var Val={
isMobile:function(s){return this.test(s,/(^0{0,1}1[3|4|5|6|7|8|9][0-9]{9}$)/)},
isEmail:function(a){var b ="^[-!#$%&'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&'*+\\/0-9=?A-Z^_`a-z{|}~]+.[-!#$%&'*+\\./0-9=?A-Z^_`a-z{|}~]+$";
return this.test(a, b);},
isNumber:function(s,d){return !isNaN(s.nodeType==1?s.value:s)&&(!d||!this.test(s,"^-?[0-9]*\\.[0-9]*$"))},
isEmpty:function(s){return !jQuery.isEmptyObject(s)},test:function(s,p){s=s.nodeType==1?s.value:s;return new RegExp(p).test(s)}};
//上面给你一个常用的验证代码,比较使用

$("#shouji").blur(function(){
var v=$(this).val();
var n=$(this).next();
if(!Val.isMobile(v)){
n.html("<font color='red'>请输入正确的手机号码</font>");
$
}else{
n.text("正确");
}
});
//不需要返回false什么的 因为你不是提交表单,
$("#password").blur(function(){
var v=$(this).val();
var n=$(this).next();
if(v.length<6){
n.html("<font color='red'>密码不能少于6位</font>");
$
}else{
n.text("正确");
}
});
</script>

热心网友

$("#mobile").text('密码不能为空');追问密码格式不正确呢?

追答正则获取的是一个数组,用console.log(),来输出一下正则获取的结果,看看需要那个值

热心网友

密码格式的话用正则表达式

热心网友

你的问题是这样的,当输入是空的时候,你注册了一个事件,在输入框后面显示 enter,然后这个事件就一直在;接下来,你输入手机号,比如 123,这时候会执行第二个 if 里面的语句,
1、先把输入框后面的文字 替换成 “手机号码格式不正确!请重新输入!”
2、将焦点聚集在输入框上(注意这里,执行 focus() 会触发之前定义的事件,导致文字又变回了 “enter”)
这两步是一瞬间发生的,所以在你看来 输入 123 之后,鼠标失去焦点,文字是“enter”

解决方法,
if (!phone.val().match(/^[1][3][0-9]{9}$/)) {
$("#mobile").html("<font color='red'>手机号码格式不正确!请重新输入</font>");
$("#shouji").unbind("focus"); // 添加这行,在focus()之前先把绑定的 focus 处理事件去掉
$("#shouji").focus();
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com