jsp利用js验证手机号的整体流程是什么?

JavaScript014

jsp利用js验证手机号的整体流程是什么?,第1张

验证130-139,150-159,180-189号码段的手机号码,参考如下:\x0d\x0a\x0d\x0avar myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/\x0d\x0aif(!myreg.test($("#phone").val())) \x0d\x0a{ \x0d\x0aalert('请输入有效的手机号码!')\x0d\x0areturn false\x0d\x0a} \x0d\x0a\x0d\x0a\x0d\x0afunction validatemobile(mobile) \x0d\x0a { \x0d\x0a if(mobile.length==0) \x0d\x0a { \x0d\x0a alert('请输入手机号码!')\x0d\x0a document.form1.mobile.focus()\x0d\x0a return false\x0d\x0a } \x0d\x0a if(mobile.length!=11) \x0d\x0a { \x0d\x0a alert('请输入有效的手机号码!')\x0d\x0a document.form1.mobile.focus()\x0d\x0a return false\x0d\x0a } \x0d\x0a 以上代码是在jquery下调试的。不需要jquery的代码 \x0d\x0a var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/\x0d\x0a if(!myreg.test(mobile)) \x0d\x0a { \x0d\x0a alert('请输入有效的手机号码!')\x0d\x0a document.form1.mobile.focus()\x0d\x0a return false\x0d\x0a } \x0d\x0a }

现在项目有需要对数据进行脱敏处理,要求保留前三位和最后四位,中间对用*处理。如 18912341234 脱敏处理之后应该变成 189****1234 。处理方法如下:

这里用到了正则表达式的 $1,$2 的方法.

() 就是起到一个分组作用,将匹配到的放到mathches集合中,$相当于集合名字,1-9就相当于索引,$1...$9相当于对应索引的值。注意下标是从1开始,表示第一个元素,不是从0开始。

如果将pat中所有的()都去掉,即: var pat=/\d{3}\d*\d{4}/ 会是什么结果呢?

结果是

没有括号之后,s1和s2匹配不到任何元素,所以就以字符串显示出来。

如果pat中保留第一个括号,即: var pat=/(\d{3})\d*\d{4}/ 结果如何?

结果是

这里$1匹配到了189,所以$1输出了189,而$2未匹配到任何内容,所以以字符串的形式输出。

首先关于手机号长度可以使用js判断用户输入长度,如果不等于11位可以进行相关提示,具体可参考以下代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>标题</title>

<script type="text/javascript">

window.onload=function(){

var aIpt = document.getElementsByTagName('input')

aIpt[1].onclick=function(){

if((aIpt[0].value).length==11){

alert("您输入的长度是11位")

}

else{

alert("请进行正确的输入")

}

}

}

</script>

</head>

<body>

<input type="text" placeholder="请输入11位数字" name="">

<input type="button" value="跳转" name="">

</body>

</html>

判断用户输入的是不是数字,可以使用isNaN进行判断,具体可以参考以下代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>标题</title>

<script type="text/javascript">

window.onload=function(){

var aIpt = document.getElementsByTagName('input')

aIpt[1].onclick=function(){

if((aIpt[0].value).length==11&&isNaN(aIpt[0].value)==false){

alert("您输入的长度是11位")

}

else{

alert("请进行正确的输入")

}

}

}

</script>

</head>

<body>

<input type="text" placeholder="请输入11位数字" name="">

<input type="button" value="跳转" name="">

</body>

</html>

前面的代码作为判断长度的单独展示,后面的代码,可以完整的展示限制长度和判断数字