联系人姓名输入区不能为空,只能有字符和空格。我对正则表达式不太熟悉,到目前为止我的在线研究还没有对如何做到这一点提供简化的解释。
到目前为止我遇到的正则表达式字符串是: ^\p{L}+(?:\p{L}+)*$
但是我还不够先进,不知道如何将其编写为脚本?谁能帮忙。
谢谢。
var contact_name = document.getElementById('contact');
function validate() {
if (contact_name == "") {
alert("Name name must be filled out");
return false;
}
*Do I need a new function, or can I insert script here?
<p>Contact Person: <input id="contact" name="contact" type="text" placeholder="Type Full Name here"></p>
最佳答案
首先,我不确定你的正则表达式,所以我用谷歌搜索了一下,发现了这个,看起来不错:/^[a-zA-Z\s]*$/
。第一个问题是您尝试比较 contact_name == ""
:contact_name
是一个元素,而不是输入的值,因此它应该是 contact_name.value === ""
(我建议在这里使用严格相等 ===
)。最后,您可以使用返回 bool 值的 regex.test(contact_name.value) 通过正则表达式检查输入值的有效性。解决方案相当简单,但如果有任何不清楚的地方,请随时询问。
var contact_name = document.getElementById('contact');
var regex = /^[a-zA-Z\s]*$/;
function validate() {
var isValid = true;
if (contact_name.value === "" || !regex.test(contact_name.value)) {
isValid = false;
}
alert("Is valid: " + isValid)
}
<p>Contact Person: <input id="contact" name="contact" type="text" placeholder="Type Full Name here"></p>
<button onclick="validate()">validate</button>
关于javascript - 我的验证仅允许使用字符和空格的输入字段。我不太熟悉正则表达式,这只是为了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48124174/