Javascript测试方法不工作(如预期)
Javascript test method not working ( as expected )
正则表达式
[A-Za-z_-]+
应该匹配只包含大小写字母、下划线和破折号的字符串
但是当我在chrome控制台运行
/[A-Za-z_-]+/.test("johmSmith12")
为什么返回true
因为您没有锚定表达式。您需要添加^
和$
,它们匹配字符串的开始和结束。
^[A-Za-z_-]+$
在您的示例中,只有[A-Za-z_-]+
将匹配johnSmith
,而不包括12
(如David Starkey所指出的)。
这是由于您的正则表达式在匹配正则表达式的测试字符串中查找任何字符序列。在您的示例中,"johnSmith"
匹配您的regex标准,因此test
返回true
。
如果你把^
(字符串的开始)和$
(字符串的结束)放在regex的末尾,那么你会断言整个字符串必须匹配你的regex:
/^[A-Za-z_-]+$/.test("johnSmith12");
这将返回false
相关文章:
- 如何制作Javascript's减少对数组数组的方法工作
- jQuery.blur.focus未在测试中工作
- Sinon-带有回调的存根函数-导致测试方法超时
- AngularJS列出了所有单元测试方法
- Rails页面JS可以在真正的浏览器/手动测试中工作,但不能在PhantomJS&硒规格
- .done 或 .then 中的茉莉花测试方法
- 如何在 JavaScript 中测试方法而不会出错
- 渲染流星模板时执行的茉莉花测试方法
- 如果“beforeEach”中的代码是异步的,如何在 Jasmine 中测试方法
- 如何使我自己的javascript Math方法工作
- * 方法工作正常,但不能使用 jQuery ajax
- 返回带有mocha的promise的测试方法调用
- Javascript调用同一对象内的对象方法工作不正常
- 单元测试——方法中的模拟方法
- Javascript Regexp测试方法的怪异行为
- 正则表达式测试方法中的“g”如何交替工作
- Javascript测试方法不工作(如预期)
- 简单流星方法茉莉测试不工作
- javascript测试方法未按预期工作
- JavaScript RegExp测试方法工作不稳定,我的意思是第一次执行和第二次执行的结果不同