繁体   English   中英

如何:文本字段仅接受某些单词

[英]How to: Text field only accept certain words

如何设置仅接受某些单词的文本字段? 我有大约150个单词是允许的。 单词是股票代号,它们是:ZLTU,ZTLAD,ZMASD ...

新的HTML5表单元素可以处理您需要的内容,但仍然存在向后兼容性问题。

基本上,您可以通过监听onblur事件来测试输入字段的值,并更正,删除值,或者如果值不在集合中,则提醒用户。 或者,您可以使用<select>元素“强制”用户从一组固定的值中进行选择。

// You could create an object and validate that 
// the input string is in the object:
var tik={
    A:"Agilent Technologies",
    AAPL:"Apple Inc.",
    BAC:"Bank of America",
    'BRK.A':"Berkshire Hathaway (class A shares)",
    C:"Citigroup Inc.",
    CPRT:"Copart",
    GOOG:"Google",
    HNZ:"H.J. Heinz Company",
    HOG:"Harley-Davidson Inc.",
    HPQ:"Hewlett-Packard",
    INTC:"Intel",
    KO:"Coca-Cola Company",
    MMM:"3M Company",
    MSFT:"Microsoft",
    TGT:"Target Corporation",
    TXN:"Texas Instruments",
    WMT:"Wal-Mart",
    WAG:"Walgreens"
}
function validTicket(inp){
    return inp.value in tik
    //returns true or false
}
function stockCo(inp){
    return tik[inp.value];
    //returns company name or undefined
}

//examples
var input={value:'HNZ'};

//alert(validTicket(input)+'\n'+stockCo(input))


// Or list them all in a delimited string and look for indexOf.
// Remember to enclose the first and last items with your delimeter.
function validTick(inp){
    var tik= '|A|AAPL|BAC|BRK.A|C|CPRT|GOOG|HNZ|HOG|HPQ|INTC|KO|MMM|MSFT|TGT|TXN|WMT|WAG|';
    return tik.indexOf('|'+inp.value+'|')!= -1;
}
// alert(validTick(input))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM