需求是:输入的内容去首尾空格长度不能小于0不能大于10.
内容注意可为任意字符.下面的验证只要中间有空格就能不通过了./^\S\s{1,10}$/;也不起作用

function confirmSubmit(){
    var _reg = /^\S{1,10}$/;
    if (window.confirm('您确认要提交编辑吗?')) {
        var _check = true;
        if (!(_reg.test($.trim($('#name').val())))) {
            $('#checkName').html("*长度必须在1到10之间");
            _check = false;
        }
        return _check;
    }
    return false;
}

解决方案 »

  1.   

    var _reg = /^\s*\S((.){0,8}\S)?\s*$/;
      

  2.   

    另外,我感觉应该把判断放在confirm之前比较好点,如果confirm了,也按了"确定"提交了,再提示内容不对,不是浪费用户感情嘛
    function confirmSubmit(){
        var _reg = /^\s*\S((.){0,8}\S)?\s*$/;
        if (!(_reg.test($.trim($('#name').val())))) {
            $('#checkName').html("*长度必须在1到10之间");
            return false;
        }
        if (window.confirm('您确认要提交编辑吗?')) {
            return ture;
        }
        return false;
    }
      

  3.   

    \s   匹配空格
    * 0个到多个
    \S   非空格
    ((.){0,8}\S)?  问号表示0个或1个,点表示任意字符[0-8个],\S表示非空格,也就是说
    最后\s*同上
      

  4.   


    首位加空格这个就不行了,改一下:
    /^\s*[\s\S]{1,10}\s*$/