我需要根据 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)" />
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');
}
}
}
关于javascript - 使用 javascript 进行正则表达式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357045/