使用javascript进行正则表达式验证
我需要验证基于javascript中正则表达式的文本。我的正则表达式工作正常,但无法找出为什么它在java脚本中不工作 正则表达式是这样的,使用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
^([-+/*]\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()”获取文本框值,并且该值也会出现sosender.getValue()
返回正确的值…只剩下一个if语句。语法有效。还有一些错误。显示getvalue代码sender.getvalue()
返回正确的值我已经用一个警报框检查了它。你能警报输入的值吗
?如果你能做到这一点,它应该会发出警报,因为你有一个If
和一个else
…是其他原因造成的。你必须分享整个代码。我真的不明白。你的代码按原样工作。Updated我的问题是,我正在使用“sender.get_value()”获取文本框值,并且该值也会出现。因此sender.getValue()
返回正确的值…您只剩下一个if语句。语法有效。还有一些错误。请显示getValue代码sender.getValue()
返回正确的值我已经用一个警报框检查了它。你能警报输入的值吗
?如果你能做到这一点,它应该会发出警报,因为你有一个If
和一个else
…是其他原因造成的。你必须分享整个代码。我真的不明白。你的代码按原样工作。比ks,它可以工作只是我必须添加一个额外的转义字符。正确的正则表达式是/^([\-+\/\*]\d+(\.\d+)*$/
谢谢,它可以工作只是我必须添加一个额外的转义字符。正确的正则表达式是/^([\-+\/\*]\d+(\.\d+)*$/$/