使用javascript用空格替换换行符

时间:2011-10-28 19:01:03

标签: javascript regex validation onsubmit

我想看看是否可以阻止输入键并用空格替换它。我也在使用表单验证,只允许使用字母,数字和其他特定字符,如美元符号,减号和句点等。

以下是该代码,我想看看我是否可以将它们组合成一个并且能够检查验证并用一个代码/调用中的空格替换按键。

<script type="text/javascript">
function ValidateForm(form)
{
var str
str=document.getElementById('limitedtextarea').value
str=str.replace(/[^A-Za-z0-9.-:/$ ]/g, "");
document.getElementById('limitedtextarea').value=str
//return true;

} 
</script>

<FORM action="sms_SendMessage.asp" method=post onsubmit="javascript:return ValidateForm(this)" target=_blank>

感谢您的帮助...

2 个答案:

答案 0 :(得分:3)

在javascript中,换行符由\n表示。您可以在验证函数中用空格替换它们,如下所示:

function ValidateForm(form)
{
    var str
    str=document.getElementById('limitedtextarea').value
    str=str.replace(/[^A-Za-z0-9.-:/$ ]/g, "");
    str=str.replace(/\n/g, " ");
    document.getElementById('limitedtextarea').value=str
    //return true;

}

答案 1 :(得分:1)

如果您删除onsubmit但没有提交按钮,则输入enter将不会提交。

<body>
    <form>
        <textarea></textarea>
    </form>
<script>
(function(){
    var txt = document.getElementsByTagName('TEXTAREA')[0];
    txt.onkeypress = function(ev){
        ev = ev || window.event;
        if ( ev.keyCode === 13 ){
            if (window.event) {
                window.event.returnValue = false;
            }
            if (ev && ev.preventDefault) {
                ev.preventDefault();
            }
            txt.value += ' ';
        }
    };
})();
</script>
</body>