我正在尝试查看字符串的开头是否具有“ <”字符,但是它将不起作用。它在regex101.com中工作正常,但在个人文件中尝试时效果不佳。
键入backslash
,它可以正常工作,键入<
,它将不起作用。
$(function() {
$(document).on('keyup', '.input', function() {
var str = $(this).html();
// not working
if (str.match(/^</)) {
console.log('starts with "<" character');
}
// but this works??
if (str.match(/^\\/)) {
console.log('starts with backslash');
}
});
});
.input {
border: 1px solid #ccc;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="input" contenteditable></div>
答案 0 :(得分:2)
JavaScript可能会将<
符号编码为<
。尝试做console.log(str);
来看看是否正在发生(我在浏览器中尝试过的情况)。
在这种情况下,请在模式中将<
替换为<
,如下所示:
if (str.match(/^</)) {
console.log('starts with "<" character');
}