在jQuery中使用正则表达式检查模式

时间:2016-06-13 13:19:11

标签: javascript jquery regex

我试图在jQuery中使用reg ex来测试变量是否包含特定模式,如果我尝试修剪字符串。这里有一些伪代码,详细说明了我的需求。

     var $test = 12345_4
     if ($test contains '_[0-100]'){
       remove '_' && [0-100]
       // $test would equal 12345
     }
     else {
      //do something
    }

使用jQuery可以实现这样的功能吗?感谢

3 个答案:

答案 0 :(得分:1)

您可以使用.replace

var $test = '12345_4'
$test = $test.replace(/_(\d{1,2}|100)\b/g, '')

console.log($test)
// 12345

  • _(\d{1,2}|100)会匹配下划线,后跟0100
  • 之间的任意数字
  • 如果匹配失败,您的输入将保持不变

答案 1 :(得分:0)

是的,就像这样简单:

/[0-9]+(\_[0-9])/

测试它:

https://regex101.com/r/eT9nS3/1

答案 2 :(得分:0)

您可以使用javascript匹配或替换2种方式: 以下是示例:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "W3Schools");

结果:访问W3Schools!

var str = "The rain in SPAIN stays mainly in the plain"; 
var res = str.match(/ain/g);

结果:ain,ain,ain

来源: http://www.w3schools.com/jsref/jsref_replace.asp http://www.w3schools.com/jsref/jsref_match.asp

这里有一些正则表达式备忘单,你可以像@marcho一样提到: http://www.javascriptkit.com/javatutors/redev2.shtml