问题标签 [character-limit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3806 浏览

swift - UITextField 在 Swift 中设置最大字符长度

如何覆盖此 UITextField 函数,以便它对最大字符数有限制?

我对堆栈进行了一些研究,但我能找到的只是这个函数(见下文)。首先,我看不出这是如何覆盖的,其次,它使用 NSRange 作为我有 UITextRange 的参数。如何实施?谢谢

我失败的尝试:

错误:无法将“UITextRange”类型的值转换为预期的参数类型“NSRange”(又名“_NSRange”)

0 投票
1 回答
589 浏览

windows - 将 powershell 中的文件重命名为超过 260 限制的更长的名称

因此,我正在尝试将我们的文档、解决方案和白皮书的 PowerShell 脚本备份到可以轻松访问的 Windows 服务器

不幸的是,当我下载它们时,我无法用它们的长名称命名文章和附件。

我确实尝试了一种解决方法,它在某些地方有些工作,我下载网页和附件,然后只做一个Get-ChildItem "$ItemOriginalfilepath" | Rename-Item -NewName "$ItemFullNameWithExtension" -Force并且适用于一个位置,我不知道为什么。

我的主要问题是如何在其他 Windows 服务器中重命名文件,这个技巧似乎不起作用。

我如何克服重命名或一般情况下的 260 限制?

0 投票
2 回答
712 浏览

javascript - 为什么 JS 字符限制会在 Safari 中打破?

我正在使用 JS 对输入进行一些字符限制(因为在 Shopify 上没有任何其他方法可以做到这一点),它在 FF 和 Chrome 中效果很好,但在 Safari 中我收到以下错误:

SyntaxError:字符串与预期的模式不匹配。

它指的是form:下面的定义

如何修复此错误?

0 投票
1 回答
229 浏览

vba - 公式太长 - 达到字符限制 - VBA 可以工作吗?

我正在创建一个工具来总结我们放入 Excel 工作簿的某些数据。所以本质上,在我们将工作簿的名称输入摘要工具后,我使用“间接”功能从工作簿中提取。一般来说,这个想法:

其中 $B$4 是第一个文件名的位置,然后我会做+IFERROR(INDIRECT ... $B$5等等。这很好用。但是,我需要对其进行设置,使其最多可容纳 70 个文件。除了在特定公式中它是 IF/AND 语句并且它使公式超出公式/单元格的字符限制之外,这也可以正常工作。

如果我把它放到VBA中,VBA会允许超长公式,还是同样的限制?

我对向单元格添加公式的理解:

欢迎其他关于如何获取此信息的想法(我认为我对 VBA 不是很熟悉,我通常可以按照说明进行操作)...这是有问题的公式(仅容纳 25 个文件):

IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$4& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$4& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$5& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$5& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$6& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$6& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$7& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$7& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$8& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$8& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$9& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$9& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$10& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$10& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$11& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$11& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$12& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$12& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$13& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$13& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$14& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$14& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$15& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$15& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$16& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$16& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$17& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$17& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$18& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$18& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$19& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$19& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$20& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$20& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$21& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$21& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$22& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$22& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$23& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$23& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$24& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$24& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$25& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$25& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$26& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$26& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$27& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$27& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)+IF(AND(IFERROR(INDIRECT("'[" & Refs!$B$28& "]" & $A$1 & "'!" & EmplRefs!$C91),0)=B$76,IFERROR(INDIRECT("'[" & Refs!$B$28& "]" & $A$1 & "'!" & EmplRefs!$B93),0)="Completed"),1,0)

计算机信息:Windows 7 Professional、Excel 2016

0 投票
1 回答
642 浏览

javascript - 如何获得字符数限制,包括默认名称-Reactjs

我正在尝试获取输入框的字符限制,但输入字段具有默认值。

如果字符限制超过文本必须出现在 0 限制(不弹出)

如果我使用下面的代码,它不能满足我的要求(比如默认值已经存在)。

如果它为 0,我可以知道如何包含默认值并设置消息吗

0 投票
0 回答
32 浏览

angular - 生成预填充的电子邮件和 Windows 字符限制

我们有一个内部 Angular 应用程序,其中使用mailto:. 这个想法是用户单击一个按钮,然后自动生成一封电子邮件,其中预先填充了各种动态字段,然后在用户的默认电子邮件客户端中打开。然后所有办公人员要做的就是点击“发送”。

在我的 Mac 机器上进行测试时,我对我们当前的实现没有任何问题。这一切都按预期工作。

但是,对于 Windows,情况就不同了(大多数员工都在 Windows 机器上,将 Outlook 作为默认电子邮件客户端)。在 Windows 中,生成的电子邮件的硬上限为 200 个字符。换句话说,如果整个电子邮件(标题和所有)包含少于 200 个字符,它将按预期工作。但如果总共超过 200 个字符,则电子邮件根本无法打开。

因此,我的任务是为此寻找解决方法。一种选择是在我们的后端 Node/MongoDB 环境中使用 gridFS 来生成 PDF,然后我们可以在电子邮件中提供链接,或者直接附加到电子邮件中。这会起作用,但感觉有点笨拙,并且作为用户体验不太理想。

在这种情况下,这是我唯一的选择吗?有没有人知道在自动生成电子邮件时有任何其他方法可以绕过 Windows 中的这个硬性字符限制?例如,我们的办公室工作人员能否在其 Windows 或 Outlook 配置中的某处覆盖此电子邮件字符限制?这是一个选择吗?

0 投票
1 回答
56 浏览

c# - 如何在已格式化的字符串上添加文本换行或字符限制

我已经编写了一些 c# 代码,它获取一个 csv 文件并显示在控制台中,我使用 string.format 来对齐我的标题和我的列数据,但是我在一列中有一个数据字符串,它的字符比休息导致对齐问题。有人可以告诉我是否可以换行或在名为“船名”的列中添加字符限制

我尝试将我当前的 string.Format for DisplayMembers() 放入一个变量中,并在其中添加限制 (0, 12) 但它失败了。

// 这一切都可以按我的意愿工作和对齐,但是boat.BoatName 有一个记录,大约 30 个字符,而其他记录大约 10-12 个字符。

将boat.BoatName 上的字符限制为大约 15 个字符

0 投票
3 回答
3192 浏览

swiftui - 是否可以使用 SwiftUI 在 TextField 上设置字符限制?

[解决]

我正在使用一个可编码的结构,它存储从 API 调用中检索到的对象值,所以我使用 Cenk Belgin 的示例修改了我的 TextField,我还删除了我添加的额外位,所以如果其他人试图做同样的事情那么他们就不会从我的应用程序中获得不需要的代码。

0 投票
2 回答
77 浏览

excel - 根据字符限制将文本截断为完整的单词 - Excel

我正在处理一些数据(DataSet#1),它的文本字段使用一些非常规逻辑截断:

  • 如果“服务类型描述”> 60 个字符,则将名称缩减为 < 60 个字符,但只有完整的单词

我的问题是我需要在 excel 中格式化一些其他数据(DataSet#2)以匹配这个逻辑,该逻辑正在应用于我们的报告服务器(在我的控制之外)的后端。似乎也没有人能找到所有可能被截断的描述的列表。

Dataset#1 是实时的,可以随时用更新的数据重新拉取,所以我需要创建一个模板,允许我从 DataSet#2(当前具有完整长度的描述)的列表中提取信息到任何基于 DataSet#1 中修剪的服务类型描述的 Dataset#1 的副本。


示例:以下是完整的产品名称,以及我的 DataSet#2 中的产品名称:

  • “FNMA 1025 Small Residential Income Property Appraisal & FNMA 216 Addendum”(73 个字符,包括空格)

只需将此文本修剪为 <60 个字符 (59) 将产生:

  • “FNMA 1025 小型住宅收入财产评估和 FNM”

但是,同样的产品,在主数据 (DataSet#1) 中的命名如下:

  • 《FNMA 1025 Small Residential Income Property Appraisal &》(56个字,8个“字”,含&)

DataSet#1 后端的逻辑已将完整的产品名称修剪到 60 个字符以下,但仅保留完整的单词(删除“FNM”部分单词)。


理想情况下,我必须能够获取一个具有完整描述名称的列表 - 并在 Excel(或 VBA)中应用逻辑,这将产生与来自其他数据集的修剪数据相同的结果 - 然后允许我从数据集中提取信息#2(完整的产品名称)根据服务类型描述进入数据集#1。

0 投票
1 回答
62 浏览

powershell - 在开始作业脚本块中使用 \\?\UNC\ (长 unc 路径)时,get-itemPropertyValue 不绑定路径

我正在尝试多线程

通过将其替换为:

where$var2保存通过 检索的文件列表gci

这适用于普通路径,但不适用于以 . 为前缀的长 UNC 路径\\?\UNC\

长路径本身可以正常工作,get-itemPropertyValue '\\?\UNC\some long path in Webdav'但一旦我从 start-job 将它放入 scriptBlock 就不行了。

错误消息说(德语):

"Das Argument für den Parameter "Path" kann nicht überprüft werden. Das Argument ist NULL oder leer. Geben Sie ein Argument an, das nicht NULL oder leer ist, und führen Sie den Befehl erneut aus. + CategoryInfo : InvalidData: (:) [Get-ItemPropertyValue]、ParameterBindingValidationException + FullyQualifiedErrorId:ParameterArgumentValidationError、Microsoft.PowerShell.Commands.GetItemPropertyValueCommand + PSComputerName:本地主机

当我尝试将它与它绑定时,get-itemPropertyValue -LocalPath '\\?\UNC\some long path in Webdav'它也会失败,但会出现以下错误消息:

Das Argument kann nicht an den 参数“LiteralPath”gebunden werden,da es NULL ist。+ CategoryInfo : InvalidData: (:) [Get-ItemPropertyValue], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.GetItemPropertyValueCommand + PSComputerName : localhost

任何人都可以检查,如果这是真的,这不起作用,或者显示一个运行的例子?我正在运行 PS 版本 5.1 并且必须使用此版本。

提前致谢。