我需要一个仅包含字母数字值的搜索框正则表达式,但允许在通配符搜索中使用最后的“ *”。
类似“ 123 *”,“ abc *”或“ abc”之类的
$(".onlyAlphaNumericWildcard").keypress(function (e) {
//Alphanumeric and also an optional "*" at the end
var keyCode = e.which;
var inp = String.fromCharCode(keyCode);
if (/[a-zA-Z0-9*]/.test(inp)) {
return true;
}
return false;
});
但是以上代码在任意位置都包含多个*字符。我只想将其限制为一个,如果可能的话,也只能在结尾处。
感谢任何帮助。
谢谢!
答案 0 :(得分:0)
类似这样的事情:
^[a-zA-Z0-9]+\*?$
答案 1 :(得分:0)
使用此正则表达式/(^\w+\*$)|(^\w+$)/g
,您可以匹配abc
或abc*
或的另一种方式:^\w+\*?$
\*?$
:最后是可选*。
^\w
:开头的单词1个或更多
const regex = /(^\w+\*$)|(^\w+$)/g;
const text = "abc"
console.log(text.match(regex))