验证用户输入的参数合法性的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
随机推荐
- About Perl(翻译Perl官网介绍)
- OGNL表达式基本语法与用法详解
- mysql root用户的密码修改和消除
- 深入了解javascript中的prototype与继承
- JS鼠标拖拽实例分析
- IOS简单实现瀑布流UICollectionView
- JavaScript中出现乱码的处理心得
- javascript实现 在光标处插入指定内容
- php实现通用的从数据库表读取数据到数组的函数实例
- PHP 类商品秒杀计时实现代码
- thinkphp循环结构用法实例
- 在IE下获取object(ActiveX)的Param的代码
- Mysql 数据库常用备份方法和注意事项
- 从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
- JS格式化数字金额用逗号隔开保留两位小数
- 又一枚精彩的弹幕效果jQuery实现
- 登录超时给出提示跳到登录页面(ajax、导入、导出)
- Jquery ajax基础教程
- C语言中strspn()函数和strcspn()函数的对比使用
- jQuery中prev()方法用法实例
