javascript - 有人可以使用 {} 解释 JS 正则表达式限制吗
问题描述
好的,所以我编写了一个函数,我将在其中测试输入字符串并查看它是否匹配几种不同格式中的一种。我的所有测试似乎都运行良好,除了最后一种格式,我只使用我的正则表达式和 .test()...
/\d{10}/
允许一个比我想要的更长的字符串
/\^d{10}!?.*$/
不允许正确长度的字符串(以及与此类似的其他组合)
我尝试了其他组合,但最终我求助于使用 if 语句来检查字符串长度,但我想知道为什么这不起作用,如果有人能帮助我,我应该怎么做!谢谢
解决方案
我怀疑你不想要那个反斜杠。
这个正则表达式:
/\^d{10}!?.*$/
...在字符串末尾寻找“十位数字,前面有一个文字^
$
。(因为锚点。)
毫无疑问,你的意思是^
也成为一个锚。这个正则表达式:
^\d{10}$
... 查找仅包含十位数字的字符串。字符将^
搜索锚定到字符串的开头,$
字符将其锚定到末尾。换句话说,“十位数字从字符串的开头开始,并且也在字符串的结尾结束。” “仅由十位数字组成的字符串。”
推荐阅读
- excel - 循环遍历特定列中的行,然后执行 if 语句
- jquery - 如何从 MVC5 中的 jquery ajax 调用中获取部分视图和 JSON 数据?
- javascript - 如何使用 Angular 在我的组件中使用 datePipe?
- xamarin - Urhosharp Material.FromImage 无法处理一些 jpg 文件
- sql - 语法错误,在 Access 中,无法使用 SQL 创建表单
- qt - Qt 条件文件包含在 .pro 中
- java - 如何从 acroform 获取字体颜色?
- python - Scrapy:使用 Spider 中的自定义目录保存在 JSON 文件中
- php - 想使用 laravel 将产品项目显示到购物车中
- shell - 如何使用 grep 将 stdout 拆分为 stdout 和 stderr?