Javascript使用输入创建用户名

Javascript使用输入创建用户名,javascript,php,forms,Javascript,Php,Forms,我有一个表单,用户在其中输入各种信息。输入所选名称允许用户输入所选用户名,但需要集成隐藏输入,以便创建系统用户名 系统用户名由javascript函数在页面提交时生成,它由姓氏、街道地址、给定名称中的第一个字母字符组成;每月的数字日;以及提交时间的数字秒字段。例如:2014年4月25日12:31:16,一名用户以Bernardo O'Higgins的名字注册,地址为解放者街213号。他的系统用户名是 OLB2516。我只是想看看它是否有效,目前ssytem用户名并没有隐藏,只是一个普通的文本框

我有一个表单,用户在其中输入各种信息。输入所选名称允许用户输入所选用户名,但需要集成隐藏输入,以便创建系统用户名

系统用户名由javascript函数在页面提交时生成,它由姓氏、街道地址、给定名称中的第一个字母字符组成;每月的数字日;以及提交时间的数字秒字段。例如:2014年4月25日12:31:16,一名用户以Bernardo O'Higgins的名字注册,地址为解放者街213号。他的系统用户名是 OLB2516。我只是想看看它是否有效,目前ssytem用户名并没有隐藏,只是一个普通的文本框

我完全迷路了,因为我不知道该怎么做,希望有人能帮助我?这是我的php文件和表单集成

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />

<title>Registration</title>


</head>

<body>
<?php
$conn = mysql_connect("localhost", "....", ".....");
mysql_select_db("tipping291", $conn)
or die ('Database not found ' . mysql_error() );




mysql_close($conn); 
?>

<div id="container">
<div id="header">

<h1>Registration</h1></div>

<div id="menu">
<a href="home.php"><h2>Homepage</h2></a><br />
<a href="rego.php"><h2>Registration</h2></a><br />
<a href="userlogin.php"><h2>User Login</h2></a><br />
<a href="adminlogin.php"><h2>Administrator Login</h2></a><br />
<a href="tipping.php"><h2>Tipping</h2></a><br />
<a href="termsnconditions.php"><h2>Terms & Conditions</h2></a><br />
</div>

<form id="rego" action="<?php echo 
htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" onSubmit="return       validateForm()">

<label>Given Name:</label> <input type="text" name="gname"><br />
<br />
<label>Middle Name: </label><input type="text" name="mname"><br />
<br />
<label>Family Name:</label> <input type="text" name="surname"><br />
<br />
<label>Chosen Username:</label> <input type="text" name="username"><br />
<br />
<label>Address:</label> <input type="text" 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"><br />
<br />
<label>Password confirmation:</label> <input type="password" name="passconfirm"><br />
<br />
<label>System username</label> <input type="text" name="susername" >
<input type="submit" value="submit">
</div>
</form>
</body>

</html>
有人能帮我吗!!!!!我还没有成功过

我认为找到的代码更适合生成一个随机字符串,可以将20个字符而不是10个字符

您也可以在时间或用户电子邮件中使用md5

您不必担心在javascript中创建它,如果这是随机生成的,您可以在php中创建它


如果你真的需要用javascript来做。。。有卡弗基克的回答。。在关闭函数validateForm{的}之前,谁可以帮助您添加以下代码并重试


如果系统名称是在客户端生成的,您打算如何确保唯一性?您的问题是什么?您不知道如何生成系统用户名、将数据保存到数据库还是什么?我不知道如何创建系统用户名。@scragar这是一个小项目,我正在处理,因此唯一性是一个问题,我如何从隐藏层调用此函数输入'susername',您可以通过验证函数中的$'input[name=susername]'。ValuerName;。在函数validateForm中添加上述代码{试一下,回答updatedDoesnt不起作用,我有一个名为system username edited post的输入框,用于测试函数是否正常工作。它没有确保在函数末尾的validateForm中添加上述代码,例如jsBin链接
var username = '';
var date = new Date();
$.each(['surname', 'address', 'gname'], function() {
    username += $.trim($('input[name="' + this + '"]').val().replace(/\d+/g, '')).substring(0, 1);
});
username += date.getDate() + '' + date.getSeconds();
$('input[name="susername"]').val(username);