在JavaScript中使用Regex过滤
我目前正在从事一个项目,我想对我提供的输入进行过滤。目前,我的方法是:
var num = some.innerText;
var filter = input.value.toUpperCase().trim();
if (num.toUpperCase() == filter) {do something}
如果我的过滤器为11 我的数字有11A或11B之类的字母,当我过滤时,我想找到11个实例。我的想法是使用AN,或者我要么检查确切的匹配或匹配,在过滤器遵循任何字母字符之后。我想使用Regex,但这似乎不起作用。
我的正则方法
if (num.toUpperCase() == filter || num.toUpperCase() == filter + /[a-zA-Z]/)
{do something}
如果我这样做,则只有字母D和我不想写24或
if (num.toUpperCase() == filter || num.toUpperCase() == filter + "D") {do something}
我尝试的
if (num.toUpperCase().match(filter) {do something}
条件 ,但我不想找到11, 123,依此类推,当我将1输入过滤器时。
I am working currently on a project where I want to filter against an input I give. At the moment, my approach is:
var num = some.innerText;
var filter = input.value.toUpperCase().trim();
if (num.toUpperCase() == filter) {do something}
If my filter is 11 I will find only the num where the text is exactly 11, but sometimes
my numbers have letters like 11A or 11B and I would like to find all instances of 11 when I filter for that. My idea is to use an or that I either check for an exact match or a match, where after the filter follows any letter character. I wanted to use regex, but this doesn't seem to work.
My regex approach
if (num.toUpperCase() == filter || num.toUpperCase() == filter + /[a-zA-Z]/)
{do something}
If I do this it works, but only for the letter d and I dont want to write 24 or conditions
if (num.toUpperCase() == filter || num.toUpperCase() == filter + "D") {do something}
I tried
if (num.toUpperCase().match(filter) {do something}
, but I dont want to find 11, 123, and so on when I enter 1 into the filter.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这似乎是为了我的目的。现在,我可以将结果11d,11e,11b等获得,当将11输入到过滤器中时,如果我将其用作过滤器,也可以获得11D。
if(num.replace(/\ d+/,'')== filter || num == filter){做某事}
>This seems to work perfectly for my purpose. I can now get the results 11D, 11E, 11B and so on when entering 11 in to the filter and also 11D if I use that as the filter.
if (num.replace(/\D+/,'') == filter || num == filter) {do something}