正则表达式允许alphanumerique(上部和下部)和逗号分隔符

时间:2017-03-24 15:10:54

标签: jquery

我试图在某些字段上创建条件,只使用大写,小写,数字和逗号作为分隔符。 在可以有项目名称的字段上,我不需要逗号,所以我发现的是这个但是,我不能有大写

public class Globals
{
    public InsuredItem _i;
    public decimal SumAssured;
}

…

string formula = "(_i.PremiumRate/100)*SumAssured";
var script = CSharpScript.Create<decimal>(formula, globalsType: typeof(Globals))
    .CreateDelegate();

foreach (InsuredItem _i in p.InsuredItems)
{
    _i.Premium = await script(new Globals { _i = _i, SumAssured = SumAssured });
}

1 个答案:

答案 0 :(得分:0)

正如我的评论中所提到的,您应该使用i修饰符,以使您的正则表达式不区分大小写。

你也应该改变你的思维过程,而不是禁止很多角色,你应该只允许你想要的角色:

$var = $var.replace(/([^A-Z0-9,])+/gi, '');

在这个例子中,我:

  • [^A-Z0-9,]替换了您的长字符列表,这意味着任何非字母数字或非逗号字符
  • 添加了i修饰符
  • 将替换字符串从-更新为(空)
  • 删除了第二个正则表达式,现在没用了。

Try it online !