【发布时间】:2014-05-29 17:52:29
【问题描述】:
我正在尝试创建一个系统用户名,该用户名由姓氏、街道地址、名字中的第一个字母字符组成;月份的数字日期;以及提交时间的数字秒字段。目前我在下面有这个,它可以在没有所有地址代码(gname 和 surname)的情况下工作。
function validateForm()
{
var system= '';
var givenname= document.getElementById('gname').value;
var familyname= document.getElementById('surname').value;
var addy= document.getElementById('address').value;
addy = addy.replace(/[0-9]/g, "");
var givchar = givenname.substr(0, 1);
var famchar = familyname.substr(0, 1);
var addchar = addy.substr(0, 1);
system += famchar+givchar+addchar;
document.getElementById('susername').value=system;
}
如果我删除以下内容:
var addy= document.getElementById('address').value;
addy=addy.replaceAll("[0-9]","");
var addchar = addy.substr(0, 1);
然后提取正确的索引,否则此时在 susername 文本框中什么都不显示。
<form id="rego" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" onSubmit="return validateForm()">
<label>Given Name:</label> <input type="text" id="gname" name="gname"><br />
<br />
<label>Middle Name: </label><input type="text" name="mname"><br />
<br />
<label>Family Name:</label> <input type="text" id="surname" name="surname"><br />
<br />
<label>Chosen Username:</label> <input type="text" name="username"><br />
<br />
<label>Address:</label> <input type="text" id="address" name="address"><br />
<br />
<label>Postcode: </label><input type="text" name="postcode"><br />
<br />
<label>State:</label> <input type="text" name="state"><br />
<br />
<label>Tel number: </label><input type="text" name="tel"><br />
<br />
<label>Password:</label> <input type="password" name="password" value="<?php
echo $passw;?>"/><span class="error">* <?php echo $passErr;?></span><br />
<br />
<label>Password confirmation:</label> <input type="password" name="passconfirm" value="<?php
echo $passw1;?>"/><span class="error">* <?php echo $pass1Err;?></span><br />
<br />
<label>System username</label> <input type="text" name="susername" id="susername" >
<br />
<input type="submit" value="submit" name="submit">
</div>
</form>
【问题讨论】:
-
我认为您希望
addy=addy.replaceAll(/[0-9]/,"");删除地址值中的所有数字。 -
有一个相当的similar question,你的?使用新帐户?
-
@user3688617 检查 JS 控制台以获取描述问题的错误消息...
-
@user3688617 请参阅this 了解如何检查您的控制台。如果有 js 错误,它会显示在这里。我相信您会发现类似“replaceAll 不是函数”的内容。因为js没有
replaceAll,所以要使用replace。
标签: javascript php html