<HTML>
<head>
<script>
function GetCursorStartPosition(obj)
{
    var start = 0;
    if (document.selection) // for IE
    {
        obj.focus();
        var sel = document.selection.createRange();
        var new_sel = sel.duplicate();
                new_sel.moveStart('character', -obj.value.length);
        new_sel.setEndPoint("EndToStart", sel);
        start = new_sel.text.length;
    }
    else if(obj.selectionStart)// for Firefox, google, opera, safari
    {
        start = obj.selectionStart;
    }
    return start;
}

function GetCursorEndPosition(obj)
{
    var end = 0;
    if (document.selection) // for IE
    {
        obj.focus();
        var sel = document.selection.createRange();
        var new_sel = sel.duplicate();
                new_sel.moveStart('character', -obj.value.length);
        new_sel.setEndPoint("EndToEnd", sel);
        end = new_sel.text.length;
    }
    else if(obj.selectionEnd)// for Firefox, google, opera, safari
    {
        end = obj.selectionEnd;
    }
    return end;
}
</script>
</head>
<html>
<body>

<input class="input" id="textbox" name="textbox" value="Hello,world!" />
<input type="button" GetCursorStartPosition( document.getElementById('textbox') ) )" value="start">
<input type="button" GetCursorEndPosition( document.getElementById('textbox') ) )" value="end">

</body>
</html>

-----------------------------设置光标位置------------------------------

function SetCursorPosition(obj, pos)
{
    obj.focus();
    if (obj.createTextRange) //for IE
    {
        var range = obj.createTextRange();
        range.collapse(true);
        range.moveEnd('character', pos);
        range.moveStart('character', pos);
        range.select();
    }
    else if(obj.setSelectionRange) //for Firefox, google, opera, safari
    {
        obj.setSelectionRange(pos,pos);
    } 
}

--------------------------------------------------------------------------------

注:曾尝试用一下方法,但IE浏览器总是提示错误,原因不明。

function GetCursorStartPosition(obj)
{
    var start = 0;
    if (document.selection) // for IE
    {
        obj.focus();
        var sel = document.selection.createRange();
        var new_sel = document.body.createTextRange();
        new_sel.moveToElementText(obj);
        new_sel.collapse(true);

        new_sel.setEndPoint("EndToStart", sel);
        start = new_sel.text.length;
    }
    else if(obj.selectionStart)// for Firefox, google, opera, safari
    {
        start = obj.selectionStart;
    }
    return start;
}