验证用户输入的参数合法性的shell脚本
今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示:
#!/bin/sh # validAlphaNum - Ensures that input consists only of alphabetical # and numeric characters. validAlphaNum() { # Validate arg: returns 0 if all upper+lower+digits, 1 otherwise # Remove all unacceptable chars compressed="$(echo $1 | sed -e 's/[^[:alnum:]]//g')" if [ "$compressed" != "$input" ] ; then return 1 else return 0 fi } # Sample usage of this function in a script echo -n "Enter input: " read input if ! validAlphaNum "$input" ; then #// 这个有点巧妙,就是如果函数的返回值为1的话,则执行 echo "Your input must consist of only letters and numbers." >&2 exit 1 else echo "Input is valid." fi exit 0
就像上面所说这脚本流程和思路还是很简明的,就是讲你的输入用sed过滤后于原输入相比较,不相等则输入不合法。
值得注意的地方有
1) sed -e 's/[^ [:alnum:]]//g' ([:alnum:]是 大小写字母及数字的意思,这里sed的作用是将非大小写字母及数字过滤掉。
2) if ! validAlphaNum "$input" $input作为 函数的参数被调用,注意这里加了引号。
相关推荐
-
验证用户输入的参数合法性的shell脚本
今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示: #!/bin/sh # validAlphaNum - Ensures that input consists only of alphabetical # and numeric characters. validAlphaNum() { # Validate arg: returns 0 if all upper+lower+digits, 1 otherwise # Remove all unacceptable
-
Angularjs验证用户输入的字符串是否为日期时间
在angularjs中,想在文本框中,验证用户输入的字符串是否为日期时间. 刚开始时,Insus.NET想到的是正则,这只是验证到日期与时间的格式是否正确而已,而对于2月最后一天或是30或是31号,还是无能为力. 因此,Insus.NET想使用angularjs的自定义指令来验证解决此问题. 在ASP.NET MVC的项目中,创建一个控制器,并创建一个Action: 控制器源代码: using System; using System.Collections.Generic; using Sys
-
Javascript与PHP验证用户输入URL地址是否正确
本文实例讲述了Javascript与PHP验证用户输入URL地址是否正确的方法,分享给大家供大家参考.具体方法如下: 1.javascript检测URL地址有效性: 复制代码 代码如下: <script type="text/javascript"> function checkUrl() { var url = document.getElementById('url').value; if (url==''){ alert('URL 地址不能为空'); ret
-
C#验证用户输入信息是否包含危险字符串的方法
本文实例讲述了C#验证用户输入信息是否包含危险字符串的方法.分享给大家供大家参考.具体分析如下: 这个C#函数可以用于表单输入数据的后端验证,判断用户是否提交了一些sql相关的危险注入字符 /// <summary> /// 检测客户输入的字符串是否有效,并将原始字符串修改为有效字符串或空字符串 /// 当检测到客户的输入中有攻击性危险字符串,则返回false,有效返回true. /// </summary> /// <param name="input"
-
Ajax 验证用户输入的验证码是否与随机生成的一致
后台Java代码[验证码生成] /** * 随机生成6位随机验证码 */ public static String createRandomVcode(){ //验证码 String vcode = ""; for (int i = 0; i < 6; i++) { vcode = vcode + (int)(Math.random() * 9); } return vcode; } 后台Java代码[使用验证码并将验证码保存到session里面] String authCode
-
JavaScript验证用户输入的是字符或数字及ASCII Chart应用
我们可以根据onkeydown事件的event.keyCode即是ASCII Chart来判断字符或数字等.相关键盘key对应的ASCII码: 参考下面JavaScript代码: 复制代码 代码如下: <script type = "text/javascript"> function isNumeric(keyCode) { return ((keyCode >= 48 && keyCode <= 57) || keyCode == 8) }
-
Javascript验证用户输入URL地址是否为空及格式是否正确
复制代码 代码如下: <script type="text/javascript"> function checkUrl() { var url = document.getElementById('url').value; if (url==''){ alert('URL 地址不能为空'); return false; } else if (!isURL(url)) { alert('URL 的格式应该是 http://www.jb51.net'); return fal
-
浅谈Shell脚本参数与交互及常见问题
目录 一.Shell编程-脚本参数与交互及常见问题 1.1 向脚本传递参数 1.2 用户交互 1.3 特殊变量 1.4 Shell编程常见问题 1.4.1 如何屏蔽命令的输出结果 1.4.2 如何把一条命令分成多行编写 一.Shell编程-脚本参数与交互及常见问题 在执行一个脚本程序时,会经常需要向脚本传递一些参数,并根据输入的参数值生成相应的数据或执行特定的逻辑. 1.1 向脚本传递参数 执行Shell脚本时可以带有参数,在Shell脚本中有变量与之对应进行引用.这类变量的名称很特别,分别是0
-
判断输入的日期是否正确的shell脚本
今儿个讲得是判断输入的日期是否正确,有利用到我们之前03这个例子中的函数 下面是代码 #!/bin/sh # valid-date -- Validates a date, taking into account leap year rules. exceedsDaysInMonth() { case $(echo $1|tr '[:upper:]' '[:lower:]') in jan* ) days=31 ;; feb* ) days=28 ;; mar* ) days=31 ;; apr
-
使用JavaScript判断用户输入的是否为正整数(两种方法)
在项目开发中,需要使用JavaScript验证用户输入的是否为正整数. 方法一: var type="^[0-9]*[1-9][0-9]*$"; var r=new RegExp(type); var flag=r.test(subjectHour.value); if(!flag){ alert("课时应为正整数"); subjectHour.focus(); return false; } 方法二: var type="^[0-9]*[1-9][0-9
随机推荐
- Angular 理解module和injector,即依赖注入
- 新人报道,发个小技巧(js数组重复判断)
- 使用正则表达式进行xml数据验证
- win2008 r2 下安装sql server 2005 64位教程(图解)
- IIS 7.5 设置允许下载exe文件的解决方法
- Java追加文件内容的三种方法实例代码
- 5款JavaScript代码压缩工具推荐
- 支持ie与FireFox的剪切板操作代码
- PHP实现图片旋转效果实例代码
- 轻松创建nodejs服务器(3):代码模块化
- MySQL SQL语句优化的10条建议
- 拖动一个HTML元素
- position:relative/absolute无法冲破的等级
- 深入jaxb xjc编码问题的详细介绍
- 深入Oracle的left join中on和where的区别详解
- 影响jQuery使用的14个方面
- JavaScript下申明对象的几种方法小结
- JS检测页面中哪个HTML标签触发点击事件的方法
- Java的Struts框架中登陆功能的实现和表单处理器的使用
- apache虚拟机配置步骤和修改访问端口的方法(虚拟机端口映射)