Dùng regex.test(string) trực tiếp ngay trong if có thể ra sai
Để regex.test()
ngay trong if
:
var string = 'aaa lấy tôi bbb'
var regex = new RegExp('lấy tôi', 'gi');
console.log("kết quả của regex.test khi ở ngoài if:", regex.test(string))
if (regex.test(string)) {
console.log("Nếu dòng này hiện nghĩa là điều kiện bằng true")
}
//kết quả của regex.test khi ở ngoài if: true
Cách sửa: tạo biến cho regex.test()
trước:
var string = 'aaa lấy tôi bbb'
var regex = new RegExp('lấy tôi', 'gi');
test = regex.test(string)
console.log("kết quả của regex.test khi ở ngoài if:", test)
if (test) {
console.log("Nếu dòng này hiện nghĩa là điều kiện bằng true")
}
//kết quả của regex.test khi ở ngoài if: true
//Nếu dòng này hiện nghĩa là điều kiện bằng true
Regex.test(value) returns true when logged but false within an if statement