匹配模式不起作用
match pattern not working
我正在尝试匹配只有a,g,c或t的字符串(不敏感)所以字符串:"AAaaatCCCc"有效,而"catb"无效。这是我的函数:
var pattern = "/^[agct]+$/i";
if (!this.inputSeq.value.trim().match(pattern)){
this.errMsg = "Invalid input sequence -must contain only a,g,c or t"
updateErrorBox(this.errMsg);
}
当我输入有效字符串时,我仍然收到错误消息
从正则表达式文本中删除引号:
var pattern = "/^[agct]+$/i";
自:
var pattern = /^[agct]+$/i;
有一个隐式转换
正则表达式
正则表达式对象。如果传递了非 RegExp 对象 obj,则通过使用新的 RegExp(obj) 将其隐式转换为 RegExp。
多核
但它不起作用,因为您在模式中有标志和斜杠:/../
.
var pattern = "^[agct]+$";
... .match(pattern)
由于隐式转换,可以工作,但由于缺少i
标志而区分大小写。
假设您的输入文本被正确拾取,其值的控制台日志可能有助于隔离问题,以下代码应该有效:
if (!this.inputSeq.value.match(/^'s*[agct]+'s*$/i)) {
this.errMsg = "Invalid input sequence -must contain only a,g,c or t"
updateErrorBox(this.errMsg);
}
您正在使用文字刺痛而不是正则表达式作为模式,因此出现错误消息。
相关文章:
- Ajax模式下的Jquery Select2 V4在IE9中不起作用
- Angular$scope在模式窗口内不起作用
- jQuery日期选择器在Codeigniter和Bootsrap模式表单中不起作用
- 脚本在我的引导模式中不起作用
- 谷歌浏览器模式正则表达式在使用setCustomValidity动态创建表单时不起作用
- 猫鼬混合模式不起作用
- 模式弹出窗口内的按钮点击不起作用
- ng模式验证在safari中不起作用
- 我试图使用引导模式类来制作一个弹出注册表单,但弹出没有'不起作用
- 使用引导模式形式的ADD不起作用
- 触摸事件在模式弹出窗口上不起作用
- 代码仅在调试器模式下工作,断点位于 Consol.log否则不起作用
- KnockoutJS - 引导程序 3 模式绑定不起作用
- 火狐浏览器 iframe 设计模式不起作用
- ASP.NET MVC 验证在引导模式上不起作用
- 简单的模式不起作用
- 关闭图标在使用 AngularJs 的引导模式上不起作用
- JavaScript 模块模式不起作用
- jQuery 引导选项卡在自定义模式中不起作用(不是引导模式,而是我自己的版本)
- 匹配模式不起作用