gpt4 book ai didi

javascript - 检查 javascript 中的一堆空格以防止发送空白数据并 trim 中间空格

转载 作者:行者123 更新时间:2023-11-30 18:42:11 26 4
gpt4 key购买 nike

我对如何解决这个问题有点困惑。似乎是标准且常见的,但找不到任何有值(value)的东西。我有一个 HTML 文本区域和一个用于输入的文本框。我想验证以下内容:

  1. 不应允许用户在文本区域中输入一堆空格 - 因此如果 15 个字符是最少的,则 16 个空格字符不应计入有效数据。一个简单的字符计数不会检测到这一点。
  2. 可以输入 16 个空格和一个字母,但那仍然是无效数据!无论如何要检查这里的有效性(根据以下几点基本上应该算作 2 个字符)?
  3. trim 不必要的空格 - 即,如果有人输入一个字符/单词并在其后跟 10 个空格,然后是另一个空格,然后是一个字符和另一组空格,我希望将它们 trim 为一个空格。就像您在 SO 上输入答案/新问题时发生的情况一样。如果你输入一堆空格,它会自动 trim 它。我尝试四处搜索,但没有找到特定于空白的内容。

凭直觉,如果我能得到 #3 的解决方案,我想它可以自动将其输入到字符计数器函数中,并且它是有效的,对吗?

关于如何着手做这件事有什么想法吗? jQuery 或 javascript 都可以接受:)

最佳答案

您可以通过正则表达式 (live example) 将所有出现的多个空格替换为一个空格:

var text = "a     b     c";
text = text.replace(/ +/g, ' ');
alert(text); // "a b c"

它的工作原理是在全局范围内寻找一个空格后跟一个或多个空格,然后仅用一个空格替换它们。

请注意,该正则表达式特定于空格。它不处理其他形式的空格。如果您想用一个空格替换所有出现的两个或多个空白字符,您可以这样做:

var text = "a \t\r\n b \t\r\n c";
text = text.replace(/\s\s+/g, ' ');
alert(text); // "a b c"

它使用 \s(空白)字符类。请注意,大多数实现在正确应用 \s 方面做得很好,但其中一些错误与 Unicode 定义的一些更深奥的空白字符相关,尽管规范明确表示它们也应该被处理。 (您可以了解您最喜欢的浏览器如何执行 here ,或阅读有关 here 问题的更多信息。)您非常不可能关心您描述的用例,您可能不关心不必为此担心。

关于javascript - 检查 javascript 中的一堆空格以防止发送空白数据并 trim 中间空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6557228/

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