【问题标题】:Regular Expression for No Apostrophes or Ampersands无撇号或 & 符号的正则表达式
【发布时间】:2017-02-21 14:02:47
【问题描述】:

我希望有人可以帮助我想出一个表单输入所需的正则表达式。以下是我能接受和不能接受的:

  • 没有撇号
  • 没有和号
  • 没有空白值
  • 据我所知,其他一切都是公平的游戏

编辑:

checkRegexp 函数:

function checkRegexp( o, regexp, n ) {
      if ( !( regexp.test( o.val() ) ) ) {
        o.addClass( "ui-state-error" );
        updateTips( n );
        return false;
      } else {
        return true;
      }
    }

【问题讨论】:

  • 分享您的研究对每个人都有帮助。告诉我们您尝试了什么以及为什么它不能满足您的需求。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask
  • 最好问问不接受这些值的原因是什么?从这个简单的请求来看,这听起来很多就像过滤输入以避免攻击的非常糟糕的尝试。当我说如果目标是安全的时候相信我,这不是正确的起点。

标签: javascript regex validation


【解决方案1】:

你可以用这个:/^[^'&]+$/

var test = [
    "&test",
    "'aaa",
    "WHIte Space",
    "RegexIsAwesome",
    "          ",
];

test.forEach(function(element) {
  console.log(element + " => " + /^[^'&]+$/.test(element.trim()));
});

【讨论】:

  • 我认为空格是允许的!他说没有空白值不是空格!
  • 是的,这是正确的@ibrahimmahrir,“白色空间”应该是真的
  • 这两个答案都有效......而且,我刚刚想到的......有没有办法让如果你只输入一个空格并且没有实际字符它会返回错误?
  • @Rataiczak24 只需致电trim()
  • 这是我当前的正则表达式代码行...valid = valid && checkRegexp( sku_group, /^[^'&]+$/, "Please enter a valid SKU Group name" ); 是否需要在上面的函数中添加一些内容才能使用trim()
【解决方案2】:

像这样?

/^[^'&]+$/

regexr.com 尝试学习正则表达式。

【讨论】:

  • 这两个答案都有效......而且,我刚刚想到的......有没有办法让如果你只输入一个空格而没有实际字符,它会返回错误?
  • /^[^'&]*[^'&\s][^'&]*$/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 2021-10-15
  • 2016-02-08
  • 1970-01-01
相关资源
最近更新 更多