Javascript 提交按钮和输入验证?

Javascript 提交按钮和输入验证?,javascript,button,character,submit,Javascript,Button,Character,Submit,我想在按下Enter键时更改此代码以使其更清晰。我得到了一个提交表单和一个文本字段,随后是提交按钮,必须单击该按钮才能提交,但这无助于我解决问题,因为我需要表单在按下Enter键时识别,如何更改以对其进行排序 submitButton.onclick = function() { index = 0; results = []; username = usernameInput.value; if ( username.length > 0 ) { win

我想在按下Enter键时更改此代码以使其更清晰。我得到了一个提交表单和一个文本字段,随后是提交按钮,必须单击该按钮才能提交,但这无助于我解决问题,因为我需要表单在按下Enter键时识别,如何更改以对其进行排序

submitButton.onclick = function() {
  index    = 0;
  results  = [];
  username = usernameInput.value;
  if ( username.length > 0 ) {
     window.location.href   = '//' + window.location.host + window.location.pathname + '#' + username;
     usernameInput.disabled = true;
     submitButton.disabled  = true;
     getExistence();
  }
我还遇到了输入验证的问题,我应该做什么更改来允许表单识别和接受特殊字符

 usernameInput.onchange = function() {
  this.value = this.value.replace(/[^a-z0-9]+/ig, '').slice(0, 40);


var urlUsername          = window.location.href.match(/\#([0-9a-z]{1,40})$/i)

我想请您更具体一点,因为我对javascript编码还不熟悉,而且我的知识还不足以轻松地对其进行排序。

第一个解决方案是阅读本文。

您可以了解为什么“button type=“submit”比将其添加到JS中更好。 我认为,解决您问题的方法可以是:

<form>
    <label for="age">Age:</label>
    <input type="number" min="0" max="120" name="age" id="age">
    <button id="child">Child</button>
    <button id="adult">Adult</button>
</form>
<script>
    (function() {
        var age = document.getElementById('age');
        age.addEventListener('keypress', function(event) {
            if (event.keyCode == 13) {
                event.preventDefault();
                if (age.value > 20) {
                    document.getElementById('adult').click();
                } else {
                    document.getElementById('child').click();
                }
            }
        });
    }());
</script>

年龄:
小孩
成人
(功能(){
var age=document.getElementById('age');
age.addEventListener('keypress',函数(事件){
如果(event.keyCode==13){
event.preventDefault();
如果(年龄值>20){
document.getElementById('成人')。单击();
}否则{
document.getElementById('child')。单击();
}
}
});
}());
简而言之,对代码进行注释:

submitButton.onclick=function(){…您的代码

这项工作如您所述,onclick。您可以使用以下功能实现类似的功能:

submitButton.onkeypress=function(){…与上面示例中的检查键代码相同

验证:创建任何正则表达式的最简单方法是进行一些实际测试。我个人更喜欢这个网站:


什么“特别的"你是说字符?因为现在没有人能帮你。在这个特定的例子中有更多的信息。你不需要任何正则表达式来处理JS。接受任何字符,然后在后端处理所有事情。

谢谢你的清晰回答,第二个问题是正则表达式的问题是,我在我的PHP站点上包含了一个阻止下划线和特殊字符的调用。
var-urlUsername=window.location.href.match(/\\\\([0-9a-z]{1,40})$/i)
我确实用
var-urlUsername=window.location.href.match(/^[a-zA-Z0-9!@\$%\\\\\\&*\(+=.\-]+$/g)替换了它。
在对代码进行更改后,我不得不删除我的PHP站点上的调用以使其正常工作。