求这样一个Js正则表达式来判断用户输入到文本框的格式是否正确。要求用户输入的格式如下:起点站->站点1[15路车:费用]->站点2[打的:费用]->...->终点站[交通工具:费用]请高手指点,在线等。

解决方案 »

  1.   

    <script>
    function check(str){
    var re  = /^[^\-]+(\-\>[^\[]+\[[^:]+:(\d)+(.(\d)+)?\])+$/g;
    return re.test(str1);
    }var str1 = "宿舍->火车站[15路车:0.8]->汽车站[打的:10]->公司[打的:55.5]";
    var str2 = "宿舍->火车站[15路车:0.8]->公司[打的:55.5]";
    var str3 = "宿舍->公司[打的:55.5]";alert(check(str1));
    alert(check(str2));
    alert(check(str3));</script>
    不过不建议这么搞,这种格式可以自己拼成,让用户分开填写"地点"、"交通方式"、"费用",可以分别做校验
      

  2.   

    这种需求不可取,应该动态添加控件到页面,
    显示相关控件让用户输入,哪里错误方便修改
    站点1[15路车:费用]就可通过js动态添加input