【问题标题】:How to validate Spaces, between alphanumeric inputs如何验证字母数字输入之间的空格
【发布时间】:2023-03-29 06:14:02
【问题描述】:

我正在使用 regEx 验证我的文本框输入。我的情况是,“它可能只需要字符或两个字母数字输入”,但它不应该只需要数字。

我正在使用此代码进行验证:

var regex=/^[0-9]*?[a-zA-Z]+|[a-za-Z]+?[0-9]*$/;

if(!regex.test(city)){
    $("#error").html("Please enter a city details Correctly");
}

它适用于我的情况,但问题是,这甚至需要字母数字/字符之间的空格。 如何避免我的上述情况出现空格。请帮助我摆脱这种情况。

提前致谢。

【问题讨论】:

    标签: javascript regex validation


    【解决方案1】:

    只需将您的正则表达式放入捕获或非捕获组中,这样它就会进行精确的行匹配,否则,它会像您的那样进行部分匹配。

    ^([0-9]*?[a-zA-Z]+|[a-zA-Z]+?[0-9]*)$
    

    【讨论】:

    • ^([0-9]*?[a-zA-Z]+|[a-zA-Z]+?[0-9]*)$ 从这个表达式我修正了先生,小变化是在您的第二次验证中,您提到小 a 两次'[a-za-Z]',这不起作用。当我将小 a 更改为大写 A 时,它会根据我的需要给出很好的结果...感谢您的帮助
    • 是的,这是一个错字。不错的收获。
    • 问题中的正则表达式本身就是错误的!试试“1abc1”。
    • @PankajGoyal op 说他发布的正则表达式运行良好。我们只是将它放入一个捕获组中,以便进行完整的线匹配。如果操作要求上述问题,我将编辑我的正则表达式。
    • @AvinashRaj 你所做的绝对正确。但是发布的正则表达式本身就是错误的。
    【解决方案2】:
    ^(?:(?:[0-9]*?[a-zA-Z]+)|(?:[a-zA-Z]+?[0-9]*))$
    

    试试这个。查看演示。

    http://regex101.com/r/oE6jJ1/30

    【讨论】:

    • 干得好..演示链接很棒,它帮助我在各种情况下锻炼..
    • @ManigandanLelkisIfusu 很高兴它有帮助
    【解决方案3】:

    你可以使用:

    var regex=/^(\d*[a-zA-Z]+|[a-zA-Z]+\d*)$/;
    

    【讨论】:

    • /^(\d*[a-zA-Z]+|[a-za-Z]+\d*)$/;这不会验证先生,一个小的变化是 /^(\d*[a-zA-Z]+|[a-zA-Z]+\d*)$/ 感谢您对帮助我的兴趣..非常感谢
    • 在我看来,两个正则表达式都是一样的
    • 先生,当你给像 /^[a-za-Z]$/ 这样的正则表达式时,这真的不起作用。我认为它是在你打字时发生的。
    • @AvinashRaj:感谢您的编辑。没有意识到 OP 有 a-Z 而不是 A-Z :)
    【解决方案4】:

    试试这个:

    var regex = /^([\d]*?[a-zA-Z]+[a-zA-Z\d]*|[a-zA-Z]+?[a-zA-Z\d]*)$/;
    

    【讨论】:

    • 它帮助我解决了另一个我没有问过的问题。干得好
    【解决方案5】:

    试试这个,

    var regex=/^(?:(?:[0-9]*?[a-zA-Z]+)|(?:[a-zA-Z]+?[0-9]*))$/;
    var city = "bangalore east";
    if(!regex.test(city)){
        alert("Please type valid city");
    } else {
        alert(city);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多