解决给分,帮忙写一个正则表达式验证一个textbox中输入的值,要是只能输入手机号或者如果输入多个手机号必须以英文";"隔开. 需验证输入的值格式必须如: 13945682586或者13845454585;13645687852;13745871258

解决方案 »

  1.   

    string regexStr = "\\d{11}(;\\d{11})*";
      

  2.   

    理论上一个正则表达式是做不到的,由于有字符头与长度限制,我给你一个思考方法吧第一步:判断是否由数字及“;”组成,这个可以不用reg
    第二步:按照“;”拆分
    第三步:按照13,15字头作正则表达式,并是11位的,reg的应该是[^1][^35]\d{10}*大概吧,我自己也没作测试
      

  3.   

    楼上们 我的只是用web验证控件RegularExpressionValidator去验证一个textbox输入的值,只能是一个正则表达式吧 ,不能用两个啊,再帮忙想想办法啊 谢拉!
      

  4.   

    一个正则表达式完全可以做到的,试下
    ^1(3\d|59)\d{8}(;1(3\d|59)\d{8})*$
      

  5.   

    lxcnn(过客)  谢谢拉 你写的行.   能不能上在你写的表达式里面再加一点验证不能为空啊??
      

  6.   

    试下
    ^(?!$)1(3\d|59)\d{8}(;1(3\d|59)\d{8})*$
      

  7.   

    lxcnn(过客)
    预查用得漂亮!
      

  8.   

    我才学c#没多久,只在很久以前看过关于RegularExpressionValidator的教程,都忘了怎么回事了,按道理空的也在不可匹配之列,改天有空试下这个吧
      

  9.   

    ^(?!$)1(3\d|59)\d{8}(;1(3\d|59)\d{8})*$
    记下了