【问题标题】:Regex avoid numeric and special characters and allow space between words正则表达式避免数字和特殊字符,并允许单词之间有空格
【发布时间】:2016-06-24 06:46:16
【问题描述】:

我需要验证 全名 文本框,该文本框应避免使用数字和特殊字符,但允许单词之间有空格。在此处查看我的 JavaScript 代码:

function jsPreventNumeric(obj) {
    obj.value = obj.value.replace(/[^a-z]/gmi, '').replace(/\s+/g, '');
}

它工作正常,只是它不允许单词之间有空格。我没有太多知识来编辑那个正则表达式。谁能帮我调整这个正则表达式以允许空间?

【问题讨论】:

  • 删除.replace(/\s+/g,"")
  • 请粘贴代码而不是将其链接为图像。
  • 你知道你会从字符串中删除所有空格,它会只留下字母,所以你会得到像'IsankaThalagalaHadBreakfastThisMorning'这样的东西?
  • @Azamantes 它还删除了大写字符
  • @AUsr19532 他添加了i 标志所以它没有:)

标签: javascript regex


【解决方案1】:

\s 是空格的转义序列。因此,您的第二次替换会明确删除所有空格。 /[^a-z]/ 表示从 a-z 中字符的所有字符。添加\s,这样它只会删除不是a-z 或空格的字符

function jsPreventNumeric(obj){
   obj.value.replace(/[^a-z\s]/gmi,"");
}

【讨论】:

  • /m 在这里是多余的。
【解决方案2】:

我没有看到图片。试试这个:^[\\p{L} .'-]+$

【讨论】:

    【解决方案3】:

    问题解决了:

    obj.value = obj.value.replace(/[^a-z\s]/gmi, "");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 2022-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多