javascript - 我的验证仅允许使用字符和空格的输入字段。我不太熟悉正则表达式,这只是为了

标签 javascript

联系人姓名输入区不能为空,只能有字符和空格。我对正则表达式不太熟悉,到目前为止我的在线研究还没有对如何做到这一点提供简化的解释。

到目前为止我遇到的正则表达式字符串是: ^\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/

相关文章:

javascript - 单击时突出显示单元格边框颜色,单击时变回其他颜色

JavaScript - 从函数外部访问数组

javascript - 在 Greasemonkey 脚本中存储数据

javascript - 在 Angular JS 中获取 HTTP 请求的值

javascript - Angularjs 中基于 promise 的单元测试代码

javascript - 如何从 PHP 中一一显示每个 "echo"。而不是等到所有脚本完成

javascript - 无法定位JavaScript程序中无限循环的原因

javascript - 如何使用 jest 测试 React 组件?

javascript - HTML5 模式与哈希模式 AngularJS 的优点/缺点

javascript - 如何从 JavaScript 中的 HTML 字符串中提取 div 中的所有内容