我在做一个项目,我想大写每个字,因为你在文本区键入按键事件。现在,我只从几个词开始,比如 SELECT
, FROM
以及 WHERE
,在mysql中默认称为保留字。
我已经创建了一个数组来存储这些单词。但是现在我面临的问题是如何在你打字的时候得到整个单词。
我几乎没有得到其他stackoverflow线程的帮助,但我无法得到任何帮助来获得整个单词的值,因为你键入的字母。
示例:原始字符串如下 select name from accounts where id = '123'
当您键入上面的字符串时,结果应该是这样的 SELECT name FROM accounts WHERE id = '123'
到目前为止,我只能将textarea中的一个单词大写,但当我尝试输入整个sql时却做不到。下面是我正在使用的代码
$("#test").keyup(function () {
var arr = ['SELECT', 'FROM', 'WHERE'];
for (var i in arr) {
if(arr[i].toUpperCase().indexOf($(this).val().toUpperCase()) == 0){
$(this).val($(this).val().toUpperCase());
break;
}
}
});
3条答案
按热度按时间klh5stk11#
将字符串按空格拆分并Map结果数组,然后用空格连接回去
q9rjltbz2#
可以使用正则表达式(忽略大小写)替换val()中的所有单词,如下所示:
nwo49xxi3#
你可以用bourdaries这个词
\b
使用正则表达式input
甚至检测到字符串的复制粘贴