我需要一个正则表达式,它只验证普通数字或以百分比结尾的数字。我尝试过以下方法:
/(?!\%$)(\D)/
我相信我会相信除了结束百分号之外的任何非数字。当我测试它时,无论如何它总是会返回相同的结果:
答案 0 :(得分:1)
这个正则表达式应该有效:
/^\d+%?$/
ohaal 找出了问题所在,但为什么要搜索不匹配的所有内容而不是搜索什么内容?
答案 1 :(得分:1)
错误在于您的代码,而不是您的正则表达式。请参阅代码中的第9行:
// Set New Image Width
$('#photo-width').on('input', function () {
var newWidth = $('#photo-width').attr('value'),
// attempted regex to find any non-digits excluding an ending percent.
reg = /(?!\%$)(\D)/,
charTest = reg.test(newWidth);
// if formatting is incorrect
if (charTest = true) { // <-------------------------- THIS
$('.debug').html('<b>Result</b> Please enter only numbers or percents.');
// if formatting is OK
} else {
$('.debug').html('<b>Result</b> Looks OK');
}
});
该行必须是if (charTest == true) {
答案 2 :(得分:-1)