Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript进行正则表达式验证_Javascript_Regex - Fatal编程技术网

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

使用javascript进行正则表达式验证,javascript,regex,Javascript,Regex,我需要验证基于javascript中正则表达式的文本。我的正则表达式工作正常,但无法找出为什么它在java脚本中不工作 正则表达式是这样的,^([-+/*]\d+(\。\d+)* 有效表达式为+7或+9.36*8或+4-9.3/5.0 无效匹配为test或8.36 这是密码 var ck_diffrentialformula = /^([-+/*]\d+(\.\d+)?)*/; function radtxtbxLinkedDifferentialFormula

我需要验证基于javascript中正则表达式的文本。我的正则表达式工作正常,但无法找出为什么它在java脚本中不工作

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

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

无效匹配为
test
8.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)" />

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

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

也许您想尝试以下表达式:
/^([\-+\/*]\d+(\.\d+)*$/


它在正则表达式中转义“-”和“/”(jsbin建议它),并考虑整个字符串(
$
结尾)。

也许您想试试这个表达式:
/^([\-+\/*]\d+(\.\d+)*$/


它在正则表达式中转义“-”和“/”(jsbin建议转义),并考虑整个字符串(
$
结尾)。

您是否收到任何警报?请提供需要验证的实际数据示例(最好是有效和无效示例)。这将帮助我们了解
发送方的值。get\u value()
(以及您预期的警报)。@Sirwani-是的,但即使我输入了正确的格式,它也会给我错误消息。您的代码完全正确,工作完全没有问题,并且与您的所有测试数据都匹配:您是否收到任何警报?请提供一个需要验证的实际数据示例(最好是一个有效和无效的示例)。它将帮助我们非常清楚地了解
sender.get_value()
的值(以及您期望的警报)@Sirwani-是的,但即使我输入了正确的格式,它也会给我错误消息。您的代码完全按照原样工作,完全没有问题,并且与您的所有测试数据都匹配:更新了我的问题,我使用“sender.get_value()”获取文本框值,并且该值也会出现so
sender.getValue()
返回正确的值…只剩下一个if语句。语法有效。还有一些错误。显示getvalue代码
sender.getvalue()
返回正确的值我已经用一个警报框检查了它。你能警报
输入的值吗
?如果你能做到这一点,它应该会发出警报,因为你有一个
If
和一个
else
…是其他原因造成的。你必须分享整个代码。我真的不明白。你的代码按原样工作。Updated我的问题是,我正在使用“sender.get_value()”获取文本框值,并且该值也会出现。因此
sender.getValue()
返回正确的值…您只剩下一个if语句。语法有效。还有一些错误。请显示getValue代码
sender.getValue()
返回正确的值我已经用一个警报框检查了它。你能警报
输入的值吗
?如果你能做到这一点,它应该会发出警报,因为你有一个
If
和一个
else
…是其他原因造成的。你必须分享整个代码。我真的不明白。你的代码按原样工作。比ks,它可以工作只是我必须添加一个额外的转义字符。正确的正则表达式是
/^([\-+\/\*]\d+(\.\d+)*$/
谢谢,它可以工作只是我必须添加一个额外的转义字符。正确的正则表达式是
/^([\-+\/\*]\d+(\.\d+)*$/$/