如何在字母数字输入之间验证空格

时间:2014-11-26 10:59:47

标签: javascript regex validation

我正在使用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");
}

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

提前致谢。

5 个答案:

答案 0 :(得分:2)

只需将你的正则表达式设置为捕获或非捕获组,以便它可以进行精确的行匹配,否则它会像你的那样进行部分匹配。

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

答案 1 :(得分:1)

您可以使用:

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

答案 2 :(得分:1)

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

试试这个。看看演示。

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

答案 3 :(得分:1)

试试这个:

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

答案 4 :(得分:1)

试试这个,

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);
}