是否需要检查正则表达式匹配长度以确定是否至少有一个匹配项
Does regex match length need to be checked to determine if at least one match?
如果我只关心是否至少有一个匹配项,是否有任何理由检查返回数组的长度,或者只是检查返回值是否不为空?
JavaScript 正则表达式匹配
var str = "The rain in SPAIN stays mainly in the plain";
var n = str.match(/ain/g);
if(n && n.length > 0) {alert('at least one match');
// Or
if(n) {alert('at least one match');
为了回答您的问题,文档中提到了它
使用 g 标志,如果没有匹配项,该方法返回 null
所以,无需检查长度
您可以改用搜索,它接受正则表达式作为参数并返回位置
if(str.search(/ain/)==-1);//not found
else ;//found
您也可以使用测试
if(regexp.test(input))
如果未找到匹配项,则返回 null (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)所以
if(n) {alert('at least one match');
就足够了。
你实际上可以测试一下,
var str = "The rain in SPAIN stays mainly in the plain";
var n = str.match(/ainyyyy/g);
if(n) {console.log('at least one match')}else{console.log('not found');};
在此示例中,将打印未找到。
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- 是否有一个javascript库来解析简单的查询
- 检查一个元素是否有一个类与另一个类总是返回true
- 是否有一个支持嵌入HTML页面的跨操作系统GUI框架
- 是否有一个 JavaScript 加载器可以将套接字的数量限制为 1 或 2
- 是否有一个 API 来控制火狐附加组件 SDK 中的下载
- 是否有一个简单的 JQuery 过程来替换页面上每段内部文本的字符串
- 是否有一个Javascript函数可以使代码在运行时延迟
- 在Express.js中,是否有一个相当于res.locals的路由
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- 是否有一个简单的Javascript库或脚本来处理简单的逻辑测试
- Github Pages中是否有一个配置允许您将所有内容重定向到单页应用程序的index.html
- Ionic/Cordova-是否有一个媒体/mediaPlayer插件可以使用轨迹栏功能
- 是否有一个JS库可以让我在网格中制作可拖动和可调整大小的磁贴,就像在iPhoto Journal中一样
- 是否有一个名为 bind 的 JavaScript 或 jQuery 事件
- 是否有一个JavaScript / Jquery组件可以创建一个像Eclipse一样的工作空间
- 是否有一个 javascript 库可以在图像上注释并将注释另存为服务器中的图像