我想检查提取的单词是否包含英文字母

I want to check if extracted word contains English letters

我有一个大问题,好几天都解决不了。我是宏观新手,我想比较 Nb_1 我 Nb_2 和 Nb_3 和 Nb_4。

我的配置是 iMacros for FF v9.0.3 Firefox 50.1.0 Windows 10

Nb_1 和 Nb_2 它的数字并且有效。

Nb_3和Nb_4是单词,有问题。我想检查 !EXTRACT 单词是否包含 ','b','c','d','e','f','g'...如果是 {x=1;} 否则{x=0;}

当我提取一个单词时,如果该单词包含英文字母并且如果是 - 我想要{x=1;}。如果不是我想要 {x=0;}.

这是我的脚本

'Extract 1st Number:

SET !EXTRACT NULL
TAG POS=4 TYPE=TD ATTR=CLASS:text-center:* EXTRACT=TXT
SET Nb_1 {{!EXTRACT}}
'>
'Extract 2nd Number:

SET !EXTRACT NULL
TAG POS=5 TYPE=TD ATTR=CLASS:text-center:* EXTRACT=TXT
SET Nb_2 {{!EXTRACT}}
'>

 'Extract 3nd Word:
SET !EXTRACT NULL
TAG POS=2 TYPE=H5 ATTR=CLASS:media-heading EXTRACT=TXT
SET Nb_3 {{!EXTRACT}}
SET !EXTRACT NULL

'Extract 4nd Word:
SET !EXTRACT NULL
SET Nb_4 {{'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',}}

TAG POS=R1 TYPE=BUTTON ATTR=CLASS:mainButton:* EXTRACT = HTM
SET !VAR1 EVAL("var s = \"{{!EXTRACT}}\"; s = s.split(' ')[1]; s=s.replace('id=', ''); s=s.replace('4045549725', '');s;")
SET Button EVAL("var n1='{{Nb_1}}', n2='{{Nb_2}}', n3='{{Nb_3}}', n4='{{Nb_4}}'; if((n1*1)>(n2*1)) else if(n3=n4) {x=1;}   else{x=0;} x;")

WAIT SECONDS=2
TAG POS={{Button}} TYPE=BUTTON ATTR=ID:{{!VAR1}}
SET !VAR5 EVAL("var randomNumber=Math.floor(Math.random()*2 + 1); randomNumber;")
WAIT SECONDS={{!VAR5}}

Nb_1 和 Nb_2 工作正常,但是当我尝试检查单词 Nb_3 是否包含 'a'、'b'、'c','d','e','f','g...等等,我得到这个错误

预期表达式,得到关键字 'else',行:30(错误代码:-1001)

这是工作和比较 Nb_1 和 Nb_2

SET Button EVAL("var n1='{{Nb_1}}', n2='{{Nb_2}}', n3='{{Nb_3}}', n4='{{Nb_4}}'; if((n1*1)>(n2*1)){x=1;} else{x=0;} x;")

但是,当我添加 Nb_3 和 Nb_4 时,我得到了错误。有谁知道我做错了什么? 如果有人知道如何解决这个问题,请分享。 谢谢

并将两个条件结合在一起:

SET Button EVAL("var x = 1; var w = '{{Nb_3}}'.replace(/\s/g, '').toLowerCase(); for (i = 0; i < w.length; i++) {if (w.charCodeAt(i) < 97 || w.charCodeAt(i) > 122) x = 0}; var n1='{{Nb_1}}', n2='{{Nb_2}}'; if((n1*1)>(n2*1)){y=1;} else{y=0;}; (x && y) ? 1 : 0;")

我认为以下代码对您的情况应该有所帮助:

SET Button EVAL("var x = 1; var w = '{{Nb_3}}'.replace(/\s/g, '').toLowerCase(); for (i = 0; i < w.length; i++) {if (w.charCodeAt(i) < 97 || w.charCodeAt(i) > 122) x = 0} x;")



首先你可以试试这条线:

SET Button EVAL("'{{Nb_3}}'.match(/\D/) ? 1 : 0;")