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

JavaScript010

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未匹配到任何内容,所以以字符串的形式输出。