我正在使用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");
}
它适用于我的条件,但问题是,这甚至需要字母数字/字符之间的空格'。 如何避免我的上述情况的空间。请帮助我摆脱这个。
提前致谢。
答案 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)
答案 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);
}