我必须在表单中为字段设置模式。模式必须具有以下特征:
1.必须在8到12个字符之间。
2.它可以包含数字,字母(大写或小写),“点”,“破折号”和“下划线”
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>
答案 0 :(得分:2)
在正则表达式中,删除不需要的^
和$
。下面的演示按预期工作,它使用一个实时测试服务器(虽然不是真的必要,因为您主要关注的是请求属性正常工作)。要在成功提交后进行测试和确认,请在表单下方的iframe中查找服务器响应。
<!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>
&#13;