0

我无法想象这很难,但我一直在试图找出最好的方法来做到这一点,老实说我完全迷路了。现在我很沮丧,所以如果知道如何做到这一点的人可以帮助我,那就太好了。

我需要一个可以嵌入到我的 html 脚本中的文本框,它将根据用户输入的文本打开不同的链接。

所以这里的英语是我需要的基础知识。非常感谢我为我难过的工作脚本。

* stands for “any characters”


If text input contains    bbb   open link htttp://example1.com/bbb

otherwise

If text input contains   *zzz*  open link htttp://example2.com/something-predefined*zzz*

otherwise

If text input contains   *xxx* open link htttp://example3.com/something-predefined*xxx*

otherwise 

 If text input contains     *   open link htttp://example3.com/*
4

3 回答 3

0

伪代码:

function parmatch(input):
  if input matches /^bbb$/
    open 'http://example1.com/{input}'
    return
  if input matches /zzz/
    open 'http://example2.com/something-predefined{input}'
    return
  if input matches /xxx/
    open 'http://example3.com/something-predefined{input}'
    return

MDN 关于 JavaScript 中的正则表达式的文章

于 2013-06-25T05:06:03.367 回答
0
    the following code only example for what you ask. here change the <a href=""> for console.

<input type="text" id="picker" />

    $('#picker').keyup(function() {
      var value = $("#picker").val();
         if(value == "1")
         {
             console.log("go to home");


         }
            else if(value == "2")
            {
                console.log("go to login");
            }
            else
                alert("plz enter valid input");
      })
于 2013-06-25T05:47:52.793 回答
0

要获得更完整的答案,我建议以下内容:

var btn = document.getElementById('fire'),
    input = document.getElementById('demo'),
    output = document.getElementById('output'),
    pageMap = {
        'aaa' : 'pageA',
        'bbb' : 'pageB',
        'ccc' : 'pageC'
    };

function loadPage (input, output, map) {
    var v = input.value,
        url = 'http://example.com/',
        text = 'textContent' in document ? 'textContent' : 'innerText';
    for (var i in map) {
        if (map.hasOwnProperty(i) && v.indexOf(i) > -1) {
            // the following shows the URL you'd end up with
            output[text] = url + map[i];
            // to *load* the URL, remove the above line,
            // and uncomment the following:
            // window.location = url + map[i];
        }
    }
}

btn.addEventListener('click', function(e){
    e.preventDefault();
    loadPage(input, output, pageMap);
});

JS 小提琴演示

然而,这个答案并不是为了鼓励你避免学习 JavaScript(正如对Ignacio 答案的评论中所建议的那样);请至少花时间阅读我在下面提供的参考资料。

参考:

于 2013-06-25T07:01:41.093 回答