【问题标题】:Add random code with javascript in input在输入中添加带有 javascript 的随机代码
【发布时间】:2012-12-12 04:16:28
【问题描述】:

我有两个输入字段。第一个是用户输入任何文本(例如产品名称)的字段,另一个是产品名称的“别名”字段,它是在用户写入产品名称时实时自动创建的。它是用 javascript 完成的,所以我的问题是如何添加一些 javascript 代码以便在每个别名的末尾添加一些随机代码,例如 (aSDAS55AD546)。

代码如下:

输入字段:

产品名称:

<input id="asd" onKeyUp="keypress()" name="editname_<? echo $languages[$i][0]; ?>[<? echo $key; ?>]" type="text" value="<? echo $item['name'][$languages[$i][0]];?>" />

别名字段:

<input name="editalias[<? echo $key; ?>]" id="sdf" onFocus="javascript:stripspaces(this)" readonly="readonly" type="text" value="<? echo $item['alias'];?>" />

这是javascript代码:

<script type="text/javascript"> 

function keypress()
{ 
var txt=document.getElementById('asd').value;
str1 = " \",'!=:;\йцукенгшщзхъжэдлорпавыфячсмитьбюЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮăîșțĂÎȘȚ"; 
str2 = "00000000icukengsszhijedlorpavifacsmitibuICUKENGSSZHIEJDLORPAVIFACSMITIBUaistAIST";
for(i=0; i<str1.length; i++) 
   { 
 txt = txt.replace(new RegExp(str1[i],"g"), str2[i]); 
} 

document.getElementById('sdf').value=txt;
} 
</script> 


<script type="text/javascript">
$().ready(function(){
    $("input#asd").keyup(removeextra).blur(removeextra);
});
function removeextra() {
    var initVal = $(this).val();
    outputVal = initVal.replace(/[^0-9a-zA-Zа-яА-Я\s'",!ăîșțĂÎȘȚ]/g,"");       
    if (initVal != outputVal) {
        $(this).val(outputVal);
    }
};
</script>

这个 javascript 为我节省了很多时间。我的网站是针对俄罗斯的,它还可以将俄文翻译成英文。

请问如何为别名生成随机码?

提前致谢!

【问题讨论】:

  • 名称字段:
  • 您应该在 jsfiddle.net 上创建一个示例来演示您的问题。
  • 该代码应该是唯一的还是只是随机的?如果不需要唯一代码,只是随机的,请看这里:stackoverflow.com/questions/105034/…。否则最好在服务器上添加它

标签: php javascript jquery


【解决方案1】:

下划线库有一个功能就是为了这个目的。我强烈推荐这个库,但如果你只想要一个函数的逻辑,它基本上只是:

var idCounter = 0;
function uniqueId(prefix) {
    var id = idCounter++;
    return prefix ? prefix + id : id;
};

你可以这样做:

var aliasOfFoo = uniqueId(originalFoo);

现在,如果您需要后缀是随机的,事情会变得有点棘手。您需要一个 idArray 来存储所有先前生成的随机字符串,而不是使用 idCounter,然后在 uniqueId 中您希望继续生成随机字符串,直到找到一个不在 idArray 中的字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多