使用javascript进行正则表达式验证

regular expression validation using javascript

本文关键字:正则表达式 验证 javascript 使用      更新时间:2023-09-26

我需要基于javascript中的正则表达式验证文本。我的正则表达式运行良好,但找不出为什么它在java脚本中不起作用。

正则表达式是这样的,^([-+/*]'d+('.'d+)?)*

有效表达式为+7+9.36*8+4-9.3/5.0

无效匹配为test8.36

这是代码,

    var ck_diffrentialformula = /^([-+/*]'d+('.'d+)?)*/;
            function radtxtbxLinkedDifferentialFormulaOnBlur(sender, eventArgs) {
                if (sender.get_value().length > 0) {
                    var entered_value = sender.get_value();
                    if (ck_diffrentialformula.test(entered_value)) {
                     alert('Text Matches');
                    }
                    else {
                     alert('Text does not match');
                    }
                }
            }
sender.get_value() - gives the text box value over here.

请告诉我哪里做错了。

我假设你使用的是这样的东西:

<input type="text" onchange="radtxtbxLinkedDifferentialFormulaOnBlur(this,null)" />

sender没有方法.get_value(),所以它甚至不起作用。取代它,它似乎奏效了。

function radtxtbxLinkedDifferentialFormulaOnBlur(sender, eventArgs) {
    console.log(sender)
    if (sender.value.length > 0) {
        console.log(sender.value);
        if (ck_diffrentialformula.test(sender.value)) {
         console.log('Text Matches');
        }
        else {
         console.log('Text does not match');
        }
    }
}

也许你想试试这个表达式:/^(['-+'/*]'d+('.'d+)?)*$/
它在正则表达式中转义"-"answers"/"(jsbin建议这样做),并考虑整个字符串(末尾为$)。