3 回答

TA貢獻1851條經驗 獲得超5個贊
您可以使用 HTML5 屬性實現相同的目的pattern(驗證將在您按回車鍵后發生,即嘗試提交表單):
<form>
<input type="text" name="name"
pattern="(?!^[aA][dD][mM][iI][nN]([iI][sS][tT][rR][aA][tT][oO][rR])?$)(?!^root$).{3,20}"></form>
這里接受長度在 3 到 20 個字符之間的任何內容,并且不是“admin”或“administrator”(不區分大小寫)或“root”(小寫)。

TA貢獻1772條經驗 獲得超6個贊
為此,您絕對應該使用某種形式的 JavaScript 驗證。這是 jQuery 中的一個簡單的答案。您可以向數組中添加任意數量的名稱,然后檢查輸入的名稱是否在數組中。如果您將表單提交到服務器,PHP 驗證可能是最好的選擇。
$("#submitName").click(function() {
var username = $("#name").val();
if(username == ("admin" || "administrator")){
$('.success-message').html("Name not allowed");
//write code to preven form from submitting
}else{
$('.success-message').html("Submitted successfully");
//write code to allow the form to submit
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="name" name="name" placeholder="Enter your name">
<button type="submit" id="submitName">Submit name</button>
<div class="success-message"></div>

TA貢獻2065條經驗 獲得超14個贊
此代碼片段演示了使用 JavaScript 的客戶端方法。出于安全原因,請在服務器端再次檢查這一點。
function validate()
{
var inputVal = document.getElementById("name").value;
invalidList=["admin","administrator"];
if(invalidList.indexOf(inputVal) !== -1){
document.getElementById("val").innerHTML="Invalid";
} else{
document.getElementById("val").innerHTML=inputVal;
}
}
function validateSubmit()
{
var inputVal = document.getElementById("name").value;
invalidList=["admin","administrator"];
if(invalidList.indexOf(inputVal) !== -1){
alert("Invalid");
} else{
alert("Success");
}
}
<input type="text" id="name" name="name" placeholder="Your name" onkeyup="validate()"/>
<input type="button" onClick="validateSubmit()" value="Submit"/>
<div id="val"></div>
- 3 回答
- 0 關注
- 189 瀏覽
添加回答
舉報