如何使用JavaScript验证图像大小(例如“5X4”)
How can I validate image sizes (expressed as e.g. “5X4”) using JavaScript?
我必须使用JavaScript进行图像大小验证。尺寸以文本形式提供,格式为nXn
-例如"5X4"或其他。
我已经做了一个测试,是否提供的大小包含一个" X ":
if(inputVal.indexOf("X")==-1)
{
$('#erSize').append("*Size should be (e.g) 6X4");
}
但是这个测试也接受例如" aXg "
我如何检查输入"X"两侧的值只是整数?
使用正则表达式
var pattern = /[0-9]'X[0-9]/;
inp = "AXG"; //Sample
if(!pattern.test(inp))
alert("Error");
http://jsfiddle.net/hFTJb/if(/^'d+X'd+$/.test(inputVal)) // add i after the pattern to match x case-insensitive
{
$('#erSize').append("*Size should be (e.g) 6X4");
}
// accepts "1X1"
// accepts "9999X9999"
// rejects "aaa1X1aaa"
RegEx可能是最好的方法,我将给出一个没有正则表达式的"原始"示例,它做同样的事情:
function ValidateImageSize(imgSize) {
var arrDimensions = imgSize.toUpperCase().split("X");
if (arrDimensions.length != 2)
return false;
var w = arrDimensions[0] * 1;
var h = arrDimensions[1] * 1;
return !isNaN(w) && !isNaN(h) && w > 0 && h > 0;
}
用法:
if (!ValidateImageSize(inputVal)) {
$('#erSize').append("*Size should be (e.g) 6X4");
}
给它,因为它比RegEx更可读,你可以控制和理解每一步。
实时测试用例
您可以通过使用RegEx轻松做到这一点。
使用正则表达式作为/('d+)X('d+)/g
function isValidInput() {
var regex = new RegExp(/('d+)X('d+)/g);
var match = regex.exec(inputVal);
if (match == null) {
$('#erSize').append("*Size should be (e.g) 6X4");
} else {
// here 'match' will be an array of 2 numeric values [D,D] where d is an integer.
}
}
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 在三个.js中创建球体(例如地球)的磁力线
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 将javascript应用程序迁移到使用AMD的提示(例如requirejs)
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- 在使用javascript的输入字段中,只接受20的倍数(例如40,60,80)
- jQuery双对象构造函数-例如$($(this))
- 如何使用浏览器中用酶创建的组件反应例如摩卡
- 在Node.js中,我在哪里可以看到JavaScript方法的源代码,例如hasOwnProperty
- 仅将JavaScript应用于部分代码(例如菜单)
- 监视JavaScript输出,例如console.log()
- 如何在特定时间重新加载page.php,例如:07:45.非持续时间,例如:每5秒
- 反向名称的JavaScript函数不能正确工作(例如学习JavaScript-O'Reilly)
- 来自jQuery,如何在React.js中制作DOM动画?例如设置进度条的动画
- css样式加载+id.例如加载1、加载300
- Javascript:如何对属性变量(例如var.hello.push)执行数组方法?太习惯AS3了
- 如何调用更改事件,例如在 HTML 数据列表上选择
- 确保Javascript支持多个库(例如Angular 1.5,jQuery 2.2.0,ckEditor 4.x,pd
- 至于所有输入的标签都用指定的属性来设置,例如属性检查=false
- 如何使用JavaScript验证图像大小(例如“5X4”)