-2

我如何将始终以两个字母开头的生成数字,然后是一系列数字(例如 ab123456)分成两个字符串,然后将它们放入两个文本框中?

该数字是使用 JavaScript 方法生成的。

in number 存储在<div>这样的位置:

<div id="usernumber" class="usera"></div>

它需要写入两个文本框中,如下所示:

Response.Write("<td width=\"50%\"><input type=\"text\" id = \"userdepartment\"  name=\"department\" size=\"3\" maxlength=\"2\"> <input type=\"text\" id = \"usernumber\" name=\"number\" size=\"10\" disp=\"Department Number\" maxlength=\"6\">\n");
4

2 回答 2

1
  • 用于.slice()获取前两个字符,然后是字符。

  • 用来document.getElementById()取你的箱子。(确保他们有身份证)

  • 将字符串分配给.value框的属性。


document.getElementById("box1").value = mystring.slice(0,2);
document.getElementById("box2").value = mystring.slice(2);

对于您更新的问题,如果数字是 的文本内容<div>,请执行以下操作:

window.onload = function() {
    var text = ('textContent' in document) ? 'textContent' : 'innerText';

    var number = document.getElementById("usernumber")[text];


    document.getElementById("userdepartment").value = number.slice(0,2);
    document.getElementById("usernumber").value = number.slice(2);
};
于 2012-11-29T14:51:34.250 回答
1

您没有提供太多信息,因此这可能只会回答您问题的一部分。将您的字符串分成两部分并放入两个不同的文本框中。

还有其他解决方案可以根据您的要求拆分复合字符串。这个使用正则表达式,但您可以使用slicesubstr也可以:

var s = "ab123456";
var rx = /([a-z]{2})(\d+)/i;

if (rx.test(s))
{
    var split = rx.exec(s);
    var letters = split[1];
    var number = split[2];

    document.getElementById("box1").value = letters;
    document.getElementById("box2").value = number;
}
于 2012-11-29T14:51:09.743 回答