草庐IT

javascript - 允许退格的javascript中的正则表达式

我的允许字符、数字、点和下划线的正则表达式是varnumericReg=/^[a-zA-Z0-9\._]+$/;我怎么能在这个regex.中允许退格? 最佳答案 您可以使用[\b]来匹配退格键。所以,只需将它添加到您的Angular色类中:-varnumericReg=/^[a-zA-Z0-9._\b]+$/;请注意,您不需要对字符类中的点(.)进行转义。里面没有什么特别的意思。另见:-http://www.regular-expressions.info/reference.html更多转义序列和正则表达式模式。

正则表达式的 JavaScript 小数位限制

我有一些针对文本框的客户端验证,它只允许最多两位小数的数字,没有其他输入。此脚本仅作为输入数值的基础,但需要对其进行调整,以便它可以采用小数点后跟最多两位小数。我已经尝试过诸如/[^\d].\d{0,2}之类的东西,但是替换调用不起作用,我不知道如何去做。代码functionvalid(f){if(!/^\d*$/.test(f.value)){f.value=f.value.replace(/[^\d]/g,"");alert("Invalidnumber");}}注意事项我需要匹配一个空字符串。如果提供空字符串并提交表单,则该值默认返回零。 最佳答案

javascript - ES6 使用正则表达式过滤数组

我正在尝试过滤包含一堆url的数组。我需要返回只包含单词“contact”的url。例如有一个链接https://www.example.com/v1/contact-us/ca这应该从过滤器返回。我试过这个:constregex=newRegExp("/\bcontact\b",'g')sites.links.filter((val)=>{console.log(regex.test(val.href))})当我知道有一个域包含单词“contact”时,它目前只是通过所有域发回false。 最佳答案 首先newRegExp('/\

javascript - 正则表达式删除每行开头的空格?

我想删除每行开头的空格。我在每一行中都有数据,开头有一组空格,所以数据出现在中间,我想删除每一行开头的空格。tmp=tmp.replace(/(]+)>)/g,"")如何将^\s条件添加到replace()中? 最佳答案 删除所有前导空格:str=str.replace(/^+/gm,'');正则表达式非常简单-开头有一个或多个空格。更有趣的位是标志-/g(全局)替换所有匹配项而不仅仅是第一个,以及/m(多行)以便插入符号匹配开头每行的开头,而不仅仅是字符串的开头。工作示例:http://jsbin.com/oyeci4

javascript - 用连字符和/或撇号匹配单词的正则表达式

我正在寻找一个正则表达式来匹配带有连字符和/或撇号的单词。到目前为止,我有:(\w+([-'])(\w+)?[']?(\w+))这在大多数情况下都有效,但如果有一个撇号然后是一个连字符,例如“qu'est-ce”,它就不会匹配。我可以附加更多可选值,但也许还有另一种更有效的方法?我尝试匹配的一些示例:Mary's、High-school、'tis、Chambers'、Qu'est-ce。 最佳答案 使用这个模式(?=\S*['-])([a-zA-Z'-]+)Demo(?=#Look-Ahead\S#*#(zeroormore)(gr

javascript - 正则表达式匹配特定长度的特定数字组?

我找到了这个:Regextomatchdigitsofspecificlength但它谈论的是Python。我希望能够获得一组特定长度的随机数。因此,如果我有167691#15316243,它将匹配15316243。我不确定如何实现。现在我有newRegExp('[0-9]+',"g");可以很好地匹配一组数字,但现在我意识到有时我会有超过一组,我只想要一组八个数字。 最佳答案 [0-9]+-Matchesoneormorenumbers[0-9]{8}-Matchesexactly8numbers.[0-9]{8,10}-Matc

Javascript 和正则表达式 : remove space after the last word in a string

我有一个这样的字符串:varstr='aaaaaa,bbbbbb,ccccc,ddddddd,eeeeee';我的目标是删除字符串中的最后一个空格。我会用,str.split(0,1);但是如果字符串中最后一个字符后没有空格,这将删除字符串的最后一个字符。我想用str.replace("regex",'');我是RegEx的初学者,感谢任何帮助。非常感谢。 最佳答案 在谷歌上搜索“javascripttrim”,您会发现许多不同的解决方案。这是一个简单的例子:trimmedstr=str.replace(/\s+$/,'');

javascript - 使用正则表达式获取 JavaScript 中大括号之间的内容

我正在尝试使用JavaScript在大括号之间获取内容。我找到了这个线程:Regextogetstringbetweencurlybraces"{Iwantwhat'sbetweenthecurlybraces}"但我不知道如何应用像/\{([^}]+)\}/这样的正则表达式我试过string.replace('/\{([^}]+)\}/','');,但是这不起作用。 最佳答案 这是一个使用示例:varfound=[],//anarraytocollectthestringsthatarefoundrxp=/{([^}]+)}/g,

javascript - 正则表达式删除所有非字母数字并用 + 替换空格

我正在寻找使用正则表达式来尝试从字符串中删除所有非字母数字字符并用+替换空格我想允许的基本上是字母单词A-Z和+这是专门准备字符串成为URL的一部分,因此需要+符号而不是空格。我看过/\W+/但是这会删除所有空格和字母数字字符,而我想尽可能保留空格,然后用+符号替换。我搜索了一下,但似乎找不到任何东西,我希望有人对此有任何简单的建议。示例字符串和期望的结果:Durarara!!x2十->durarara+x2+ten 最佳答案 这实际上相当简单。假设str是您要清理的字符串:str=str.replace(/[^a-z0-9+]+/

javascript - 正则表达式匹配 2-10,但不匹配 99

我在表单上有一个字段采用以下值:-1、2-10、99我有一个与答案2-10有关的业务规则。我正在尝试编写一个匹配2-10但不99的正则表达式,但我遇到了麻烦。原表达:^2|3|4|5|6|7|8|9|10$失败,因为匹配了99(从技术上讲,匹配了两次)。此外,线边界是我从未感到舒服的东西。我观察到他们在expresso中的行为与我在其他地方(例如.net)中的行为不同。在此特定实例中,正则表达式在javascript中运行。无论如何,expresso似乎忽略了它们(如果我将值放在括号中:^[2|3|4|5|6|7|8|9|10]$^[2-9]$无论是“全部拼写”还是作为范围,如果我指定