js实时把输入小写字母自动变大写

一、需求

  • 在文本框中输入字符,要求非字母不得输入
  • 实时把输入的字母从小写自动转变成大写

二、方案

  • 利用正则验证 /^[a-zA-Z]+$/.test(value)
  • 用oninput事件达到实时转换
  • 直接看代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
<p>
    请输入字符:<input type="text" value="" oninput="inputEvent(this)"/>
</p>
</body>
<script>
    function inputEvent(obj) {
        var value = obj.value;
        var isletter = /^[a-zA-Z]+$/.test(value);
        if (!isletter) {
            //如果是非字母直接去掉刚输入的字符
            obj.value = value.substr(0, value.length - 1);
        }
        obj.value = obj.value.toLocaleUpperCase();
    }
</script>
</html>

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×