【问题标题】:javascript ,jquery to check if an input field is only letters and not numbersjavascript,jquery检查输入字段是否只有字母而不是数字
【发布时间】:2020-07-28 00:35:11
【问题描述】:

我正在尝试在我的 js 中添加一些逻辑,以检查用户是否只能在输入字段中输入字母而不是数字。这两个字段用于城市和州。我知道我应该使用 if/else 语句和可能的 typeOf?任何帮助将非常感激!因此,如果存在数字,那么我将 console.log 和/或 alert('没有数字或其他');我尝试了仅使用 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);      
    })


【问题讨论】:

    标签: javascript jquery string if-statement typeof


    【解决方案1】:

    鉴于$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。

    【讨论】:

      猜你喜欢
      • 2013-08-05
      • 2023-03-23
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2015-12-17
      相关资源
      最近更新 更多