不要在angularjs的textarea中输入超过20个逗号分隔或换行符分隔的序列号和字母数字

     2023-05-07     147

关键词:

【中文标题】不要在angularjs的textarea中输入超过20个逗号分隔或换行符分隔的序列号和字母数字【英文标题】:Don't Input more than 20 comma separated or new-line separated serial no and alpha-numeric in textarea in angularjs 【发布时间】:2020-10-27 07:42:23 【问题描述】:

这是我的问题陈述。任何帮助都会很棒。

允许用户在文本区域中输入文本,但有以下限制。

只允许输入字母数字(序列号)。

只有 20 个条目(可以用逗号分隔,如 FVO01、FVO02、FVO03 ..) 或类似的新行 FVO01. FVO02. FVO03等

用户可以从记事本或 Excel 表中复制和粘贴,因此在这样做时 2 个序列号之间可能会有超过 1 个新行,因此也必须注意这一点。

我的方法: 首先修剪所有空格。 用逗号 (,) 替换所有新行 (/n) 字符。如果它已经是逗号分隔的条目,则转换不会影响任何内容。 计算长度,如果超过 20 则提示。

这是我到目前为止所尝试的,不知何故捕获和替换新行不起作用。

寻找满足上述所有条件的更好解决方案。谢谢

function checkValidations(newValue) 
                    $ctrl.serialNos = newValue;
                    
                    var comma = "";                     
                    if($ctrl.serialNos) 
                    comma = $ctrl.serialNos.replace(/\s/g, "");
                    comma = $ctrl.serialNos.replace(/\n/g, ",");
                    comma = comma.split(",");
                    
                    
                    var alphaNumeric = /^[(a-z)(A-Z)(0-9),]+$/;
                    if($ctrl.serialNos) 
                    if(!($ctrl.serialNos.match(alphaNumeric))) 
                        alert("Please enter only Alphanumeric values")
                        
                    
                    
                    if (comma.length > 21 )                            
                        alert("You can not enter More than 20 serial nos");
                    

【问题讨论】:

请尝试console.log(string2.split(/\n|,/g).length <= 20 && /[A-Za-z0-9]+/.test(string2.replace(/[\s\n,]+/g, ""))); 它现在将 /n 转换为逗号,但我根据逗号计算序列号。因此,如果在 2 个序列号之间有多个 /n(比如说 3),那么它将转换为 3 个逗号,虽然我有 2 个序列号,但我的序列号总数将为 5,这将影响我的验证。它不允许我在 17 个序列号之后输入。任何解决方法 好的,您想将新行转换为逗号吗?请检查此\n+。请注意那里有逗号。 谢谢,这有助于解决我的问题 我很高兴它有帮助=)请考虑支持下面提供的答案。它会帮助回答者。 【参考方案1】:

您可以匹配一个字母数字条目,并重复 0 - 19 次字母数字条目,前面可以有 1 个或多个换行符或逗号

^[a-zA-Z0-9]+(?:(?:[\r\n]+|,)[a-zA-Z0-9]+)0,19$

说明

^ 字符串开始 [a-zA-Z0-9]+ 匹配任何列出的 1 次以上(字母数字条目) (?:非捕获组 (?:[\r\n]+|,) 匹配 1+ 换行符或单个逗号 [a-zA-Z0-9]+ 匹配列出的任何字符的 1 次以上 )0,19关闭非捕获组并重复0-19次 $ 字符串结束

Regex demo

您可以使用test 来检查输入是否有效

if (!pattern.test(s)) 
    // ...

【讨论】:

【参考方案2】:

\s 匹配所有空格,包括新行,因此您需要先替换新行。

comma = $ctrl.serialNos.replace(/\n+/g, ",");
comma = comma.replace(/\s/g, "");

【讨论】:

它现在将 /n 转换为逗号,但我根据逗号计算序列号。因此,如果在 2 个序列号之间有多个 /n(比如说 3),那么它将转换为 3 个逗号,虽然我有 2 个序列号,但我的序列号总数将为 5,这将影响我的验证。它不允许我在 17 个序列号之后输入。任何解决方法 @Saket 没问题。

使用 Laravel 在 AngularJS 的 textarea 中追加文本

】使用Laravel在AngularJS的textarea中追加文本【英文标题】:AppendtextintextareainAngularJSwithLaravel【发布时间】:2018-04-1413:40:02【问题描述】:我是AngularJS的新手。下面是我尝试使用Laravel在textarea中附加文本值。<textareaclass="form-control"n... 查看详情

在 angularJS 中调整 textarea 的大小(在 uib-tab 中)

】在angularJS中调整textarea的大小(在uib-tab中)【英文标题】:ResizingtextareainangularJS(insideuib-tab)【发布时间】:2019-01-1621:52:27【问题描述】:您好,我在AngularJS中使用https://hassantariqblog.wordpress.com/2016/07/27/angularjs-textarea-auto-resize-dire... 查看详情

在textarea元素Angularjs中触发oncontextmenu事件

】在textarea元素Angularjs中触发oncontextmenu事件【英文标题】:TriggeroncontextmenueventintextareaelementAngularjs【发布时间】:2017-06-1409:24:24【问题描述】:我正在使用来自here的Angularjs打包库。它工作正常,但我发现当我点击它时我无法编... 查看详情

AngularJS:$http.post 使用 textarea 的多个值?

】AngularJS:$http.post使用textarea的多个值?【英文标题】:AngularJS:$http.postmultiplevaluesusingtextarea?【发布时间】:2018-01-0816:17:52【问题描述】:我有一个应用程序,它使用webapi将用户输入文本的值发布到sqlserver表中,然后sql表值显示... 查看详情

如何使用angularjs在html中获取textarea行数?

】如何使用angularjs在html中获取textarea行数?【英文标题】:Howtogettextarearowscountinhtmlusingangularjs?【发布时间】:2019-06-2723:51:39【问题描述】:是否可以使用angularjs在html中获取textarearowcount?下面是javascript获取行数的方法。console.log... 查看详情

angularjs中的textarea和输入类型文本有啥区别

】angularjs中的textarea和输入类型文本有啥区别【英文标题】:Whatsthedifferencebetweentextareaandinputtypetextinangularjsangularjs中的textarea和输入类型文本有什么区别【发布时间】:2014-03-0900:22:19【问题描述】:只是不确定有什么区别。试图... 查看详情

AngularJS 无法设置值 textarea

】AngularJS无法设置值textarea【英文标题】:AngularJScan\'tsetvaluetextarea【发布时间】:2017-09-0511:24:12【问题描述】:我正在尝试为表单中的某些元素设置默认值,虽然它适用于所有输入字段,但它似乎不适用于textarea,而代码几乎相... 查看详情

无法显示在 textarea 中输入的数据

】无法显示在textarea中输入的数据【英文标题】:unabletoshowdataenteredintextarea【发布时间】:2020-12-0104:30:16【问题描述】:我的views.py代码:`fromdjango.shortcutsimportrenderfrom.formsimport*from.modelsimportfor_point,against_pointdefindex(request):returnr 查看详情

使用 Selenium 在 textArea 中输入完整的 html

】使用Selenium在textArea中输入完整的html【英文标题】:InputfullhtmlintextAreausingSelenium【发布时间】:2019-08-2320:22:23【问题描述】:我有一个文本区域,我需要在那里输入完整的HTML。在BDD中,我将传递文件的路径,但我不知道如何捕... 查看详情

无法在 selenium 的 textarea 中输入文本

】无法在selenium的textarea中输入文本【英文标题】:Can\'tinputtextintextareaonselenium【发布时间】:2022-01-1420:43:20【问题描述】:我想在这里输入文字(作为附件img)已经尝试使用了,但是不行:发送密钥使用sendkeys时出现此错误>>... 查看详情

如何使用 django 显示在 textarea 中输入的数据?

】如何使用django显示在textarea中输入的数据?【英文标题】:Howtoshowthedataenteredintextareausingdjango?【发布时间】:2020-11-0703:56:43【问题描述】:我想创建一个辩论网站。我无法在屏幕上显示在我的文本区域中输入的数据。我创建了... 查看详情

如何阻止在textarea中输入回车?

】如何阻止在textarea中输入回车?【英文标题】:Howtoblockenteringcarriagereturnintextarea?【发布时间】:2011-08-2812:07:19【问题描述】:如何在按键事件期间使用asp.netmvc在文本区域中阻止输入回车、换行、单引号和双引号?【问题讨论... 查看详情

空 HTML textarea 输入未显示在 mPDF 生成的 PDF 中

】空HTMLtextarea输入未显示在mPDF生成的PDF中【英文标题】:EmptyHTMLtextareainputdoesn\'tshowupinPDFgeneratedbymPDF【发布时间】:2019-11-2010:04:06【问题描述】:我正在使用mPDF从HTML表单生成PDF。该表单包含几个textarea标签(除其他外)。如果... 查看详情

Angularjs 指令在 textarea 插入符号处插入文本

】Angularjs指令在textarea插入符号处插入文本【英文标题】:AngularjsdirectivetoInserttextattextareacaret【发布时间】:2014-02-1911:35:22【问题描述】:我有控制器MyCtrl和指令myText。当MyCtrl中的模型发生变化时,我想通过在当前位置/插入符号... 查看详情

如何在代码隐藏中引用 HTML <textarea> 控件的输入?

】如何在代码隐藏中引用HTML<textarea>控件的输入?【英文标题】:HowdoIreferencetheinputofanHTML<textarea>controlincodebehind?【发布时间】:2011-05-2907:51:08【问题描述】:我正在使用textarea控件来允许用户输入文本,然后将该文本放... 查看详情

使用 angularjs 在 iOS 上聚焦 textarea

】使用angularjs在iOS上聚焦textarea【英文标题】:FocustextareaoniOSwithangularjs【发布时间】:2016-12-1208:44:15【问题描述】:我目前正在尝试将焦点设置在ipad上用户未触摸的文本区域上。这样做的原因是我想要单击而不是双击执行另一... 查看详情

如何让textarea中输入多行的数据在p标签中换行?

...们在用React开发Web项目的过程中,有的时候,我们需要把textarea中输入的多行字符串,在其他的标签中输出来,比如p标签。但是,往往这个时候,在p标签中输出的内容其默认情况下是不换行的。比如下面的代码:importReact,{Componen... 查看详情

在输入类型文本中粘贴多行文本(不是 textarea)

】在输入类型文本中粘贴多行文本(不是textarea)【英文标题】:Pastemultilinetextininputtypetext(nottextarea)【发布时间】:2012-03-2102:00:03【问题描述】:我有一个inputtypetext,用户在其中输入由,或-分隔的数字代码(以创建一个范围)。... 查看详情