我一直在文本字段"KD-G435MUN2D"
中输入一个字符串。
我已经使用此代码从该字符串中搜索"UD"
子字符串:
<script>
var str="KD-R435MUN2D";
var patt1=/UD/gi;
document.write(str.match(patt1));
</script>
但是这段代码不起作用。我的错在哪里?
var str = $(this).val;
var hasUD;
var hasJD;
var patt1 = str.match(/u/gi);
var patt2 = str.match(/J/gi);
var patt3 = str.match(/D/gi);
if (patt1 && patt3) {
hasUD = 'UD';
}elseif (patt2 && patt3) {
hasJD = 'JD'; }
我已经尝试了这个并且似乎有效:
<script type="text/javascript">
var str="KD-R435MUN2D";
var patt1=/U.*D/g;
document.write(str.match(patt1));
</script>
答案 0 :(得分:1)
试试这个,如果它同时有U和D,它将返回'UD'。否则它将是假的。
var str = "KD-R435MUN2D";
var hasUD;
var patt1 = str.match(/U/gi);
var patt2 = str.match(/D/gi);
if (patt1 && patt2) {
hasUD = 'UD';
} else {
hasUD = false;
}
document.write(hasUD);
答案 1 :(得分:0)
这只会将U和D匹配在一起。尝试:
var str="KD-R435MUN2D";
var patt1=/[U|D]/gi;
alert(str.match(patt1));
这将返回'U,D,U'
答案 2 :(得分:0)
我没有在测试字符串中连续看到字符UD,并且你的正则表达式只指定子字符串UD。如果您正在寻找U[anything]D
,则需要使用/U.*D/gi
- .*
表示“零个或多个重复的任何有效字符”(不包括换行符)。这将找到UD,如果它在那里,或在你的情况下,UN2D。