我正在建立一个键盘功能,就像你在手机上看到的那样。到目前为止,我有一个工作键盘,将字母附加到div p
我希望它去。
这是我没有正则表达式的原始键盘:https://jsfiddle.net/yxdehb5p/
当我使用正则表达式时,所有字母都变为大写字母:请参阅:https://jsfiddle.net/L9wL6f66/
正则表达式表现良好,因为问题发生在每次点击后,下一个字母在开发人员工具中遇到一个新行:
这就是开发人员工具内部的样子:
<div id="result">
<p>
"Q"
"W"
"E"
"."
"R"
"T"
"Y"
</p>
</div>
虽然这是我想要的结果:
<div id="result">
<p>
"Qwe. Rty"
</p>
</div>
导致此行为的原因是什么?
修改
也许我不清楚。我不希望它在我的console.log或开发工具中看起来不错但在屏幕上。但我知道这可能是由于我的正则表达式。为什么我的正则表达式一直都是大写的。顺便说一句,我对理解正则表达式非常不满意。
答案 0 :(得分:-1)
非常简单的解决方案,下面是更新的代码。
var c = 0;
$(".ui-keyboard-1 button").add(".ui-keyboard-2 button").add(".ui-keyboard-3 button").click(function () {
c++;
if ($(this).hasClass('ui-keyboard-noresult')) {
return;
}
$('.ui-keyboard-space').click(function () {
$('.result p:last').append(' ');
});
$(this).val('span');
$result = $(this).find('span').text().toLowerCase();
$re = /(^|\. *)([a-z])/g;
$result = $result.replace($re, function (x) {
return x.toUpperCase();
});
$(".result p:last").append($result);
//debug
if(c > 1){
console.clear();
}
console.log($('.result p:last').html());
});
由于