【问题标题】:How to exclude minus sign using regex如何使用正则表达式排除减号
【发布时间】:2015-12-19 08:57:02
【问题描述】:

我需要检查用户是否在值的开头输入了减号。 如果用户输入减号,那么它应该抛出错误。 尝试了不同的模式^(\\d*|\\s*)$

【问题讨论】:

  • var val = '用户输入'; val.match(/-/) !== null
  • ^(\\d*|\\s*)$ 尝试过这种模式
  • 试试/[^a-zA-Z0-9*?:.+\-^"_ ]+/g
  • 您尝试的模式将匹配空值、全数字值或全空格值。它不会匹配任何带有减号的值。这就是 is 所做的,但不清楚您想要它做什么,因为这似乎不是您想要的。您您想知道值的开始处是否有减号。这是否意味着第一个字符,还是在它之前有空格?如果它以减号开头,您说失败,这意味着它将被接受对于所有其他值,但是您的正则表达式另有说明。那么,究竟你想要什么?
  • 我没有投反对票,但同意 Andreas 的观点,即问题不清楚。标题要求“排除”减号,但描述要求“抛出错误”。没有明确的要求,很难提出解决方案。

标签: javascript java regex oracle-adf


【解决方案1】:

为什么不使用.indexOf

var val = "Whatever-is-the input";
if(val.indexOf("-")!=-1){
  // there is a - in input
}

【讨论】:

  • val.indexOf("-") > 0?
【解决方案2】:

您可以使用 indexOf() 返回此字符串中指定字符第一次出现的索引。

举个例子:

var userInput = "some-user-input";
if(userInput.indexOf("-") != -1) {
   // do some magic here
}

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多