一般搜索都有说怎么用正则表达式验证,但是呢,介绍这个表达式的就没几个人了。下面来说说,有错误请拍砖:
$patternmobile = "/^((13|14|15|17|18)[0-9])(\d|[0-9]){8}$/";
上面这个表达式是验证手机号码,13|14表示13或者14开头,多个就用或符号|连起来,然后加个括号,(13|14)。
[0-9]表示一位数,范围是0-9。
\d|[0-9],表示一位纯数字,范围也是0-9。跟上面的区别是限制了必须为数字。
{8}表示\d[0-9]必须出现8次,也就是说,前面有了13x这样3位,那在加上8位就是11位完整的国内手机号码啦。
前后的2个/表示通过在一对分隔符之间放置表达式的各种组成部分,就可以构建正则表达式。
/^表示开头,而^表示匹配搜索字符串开始的位置。
$/表示结束,匹配搜索字符串结尾的位置。
怎么样,差不多理解啥意思了吧?看下几个链接,说的也很好:
https://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.100).aspx
https://msdn.microsoft.com/zh-cn/library/dd997379(v=vs.100).aspx
https://msdn.microsoft.com/zh-cn/library/dd997380(v=vs.100).aspx