繁体   English   中英

javascript,jquery 检查输入字段是否只有字母而不是数字

[英]javascript ,jquery to check if an input field is only letters and not numbers

我正在尝试将一些逻辑放入我的 js 中,以检查用户是否只能在输入字段中输入字母而不是数字。 这两个字段分别用于城市和 state。 我知道我应该使用 if/else 语句和可能的 typeOf? 任何帮助将非常感激。 因此,如果存在数字,那么我会控制台;记录和/或警报('没有数字或其他')。 我尝试了第一个解决方案,只使用 html 但这对我不起作用,但感谢第一个答案.?!。 输入字段不在表单标签内,当我将它们包装在表单中时,我的 js 停止工作。 有没有办法以另一种方式检查它?

        $submitBtn.on('click', function () {
        let city = $cityBox.val().trim();
        let state = $stateBox.val().trim();  // trying to figure out how to do it on both of these 

        //variables. 


       //below are 2 function to run inside this submit btn click.
       // savedHistory(city, state); 
       // dailyWeather(city, state);      
    })


给定$submitBtn ,这听起来像是在表单中,在这种情况下,您可以使用pattern属性来要求在提交表单之前输入与模式匹配。 仅对于字母,使用[a-zA-Z]+ (一个或多个字母):

 <form> <input pattern="[a-zA-Z]+"> <input pattern="[a-zA-Z]+"> <button>submit</button> </form>

但是由于城市和州可以同时具有字母空格,也许您应该修改您的要求并允许空格,通过在字符集中添加空格:

 <form> <input pattern="[a-zA-Z ]+"> <input pattern="[a-zA-Z ]+"> <button>submit</button> </form>

对于自定义消息,给输入一个title属性:

 <form> <input pattern="[a-zA-Z ]+" title="Only letters and spaces permitted"> <input pattern="[a-zA-Z ]+" title="Only letters and spaces permitted"> <button>submit</button> </form>

不需要 Javascript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM