我必须为我的形式的字段设置模式。该模式必须具有以下特征:
1.它必须在8到12个字符之间。
2.它可以包含数字,字母(大写或小写(," dot"," dash"one_answers"下划线"
3.它必须从字母开始。
我设法找到了在https://regex101.com/上工作的模式,但是当我编写JavaScript时,代码不起作用。
这是模式: ^[A-ZA-Z] [A-ZA-Z0-9 .-_] {7,11} $
这是代码:
<!DOCTYPE html>
<html>
<body>
<form name="regForm" action="/action_page.php" onsubmit="return validateForm()" method="post">
username: <input type="text" name="uname" pattern="^[a-zA-Z][a-zA-Z0-9.-_]{7,11}$" id="uname" required="required"><br>
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
在正则时,删除^
和$
是不需要的。下面的演示可以按预期工作,并且使用了实时测试服务器(尽管不是真正的必要,因为您的主要关注点是请求属性正常工作(。要测试并确认成功提交后,请在表格下方的iframe中查找服务器响应。
demo
<!DOCTYPE html>
<html>
<body>
<form name="regForm" action="https://httpbin.org/post" method="post" target='response'>
username: <input type="text" id="uname" name="uname" pattern="[a-zA-Z][a-zA-Z0-9.-_]{7,11}" required="required"><br>
<br><br>
<input type="submit"><br><br>
<h4>iFrame will display test server response</h4>
<iframe src='about:blank' name='response'></iframe>
</form>
</body>
</html>