gpt4 book ai didi

javascript - 如何在文本框的开头和结尾 trim 空格?

转载 作者:搜寻专家 更新时间:2023-11-01 05:14:29 25 4
gpt4 key购买 nike

我想 trim 文本框开头的所有空格并 trim 文本框末尾的所有空格。所以我在一个网站上找到了这段代码,该代码应该删除开头、结尾的空格和中间的多个空格:

function trim(s) {
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
return s;
}

我的问题是,首先 3 行代码中的哪一行是 trim 中间空格的代码,因为我不需要那一行。但主要问题是如何让文本框访问此功能?

我试过使用 onkeypress 但这没有用,下面是我试过的:

<p>Search: <input type="text" name="questioncontent" onkeypress="return trim(s)" /></p>

所以我想要的是,例如,如果在文本框“我的名字是皮特”中输入了这个短语。然后它应该删除开头和结尾的空格,这样它就会显示为“My Name is Pete”。但是我怎样才能让它发挥作用呢?

更新:

发现 trim() 是 jQuery,那么有没有人有与之等效的 javascript 可以手动编码以删除文本框开头和结尾的空格?

最佳答案

您需要更改您的 HTML :

<p>Search: <input type="text" name="questioncontent" onchange="return trim(this)" /></p>​

将输入元素作为参数传递给 trim 并使用 onchange 而不是 onkeypress。

然后 trim 需要:

function trim (el) {
el.value = el.value.
replace (/(^\s*)|(\s*$)/gi, ""). // removes leading and trailing spaces
replace (/[ ]{2,}/gi," "). // replaces multiple spaces with one space
replace (/\n +/,"\n"); // Removes spaces after newlines
return;
}​

这会修改输入元素的值,删除前导空格和尾随空格,将多个空格替换为单个空格,并删除换行符后的所有空格。

JSfiddle:http://jsfiddle.net/jstoolsmith/ZNQQm

关于javascript - 如何在文本框的开头和结尾 trim 空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10747119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com