验证用户输入的参数合法性的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
随机推荐
- AngularJS Phonecat实例讲解
- JavaScript中的apply和call函数详解
- JS获取IUSR_机器名和IWAM_机器名帐号的密码
- IOS数字键盘左下角添加完成按钮的实现方法
- 4种java复制文件的方式
- flash+php+mysql打造简单留言本教程第1/3页
- Android实现用文字生成图片的示例代码
- MySql数据库中Select用法小结
- PHP在线生成二维码代码(google api)
- ul在Firefox和IE下的不同表现的解决方法
- jquery的ajax()函数传值中文乱码解决方法介绍
- 快云vps主机配置免费vpn服务器的方法(windows/linux)
- LNMP自动安装部署脚本
- 详解Java编程中统一资源定位符URL的相关使用
- window.location和document.location的区别分析
- Android实现从activity中停止Service的方法
- JS 操作日期 顺便实现 上一周 和 下一周 功能
- ipfilter+ipnat包过滤、转发和DHCP服务器架构笔记
- Linux下semop等待信号时出现Interrupted System Call错误(EINTR)解决方法
- JS无法捕获滚动条上的mouse up事件的原因猜想