Exception

国际化!  split:false

 

js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号

function stripscript(s)
{
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&mdash;—|{}【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs+s.substr(i, 1).replace(pattern, '');
}
return rs;
}

校验所有输入域是否含有特殊符号

/**
* 校验所有输入域是否含有特殊符号
* 所要过滤的符号写入正则表达式中,注意,一些符号要用'\'转义.
* 试例:
* if(checkAllTextValid(document.forms[0]))
* alert("表单中所有文本框通过校验!");
*/
function checkAllTextValid(form)
{
//记录不含引号的文本框数量
var resultTag = 0;
//记录所有text文本框数量
var flag = 0;
for(var i = 0; i < form.elements.length; i ++)
{
if(form.elements[i].type=="text")
{
flag = flag + 1;
//此处填写所要过滤的特殊符号
//注意:修改####处的字符,其它部分不许修改.
//if(/^[^####]*$/.test(form.elements[i].value))

if(/^[^\|"'<>]*$/.test(form.elements[i].value))
resultTag = resultTag+1;
else
form.elements[i].select();
}
}

/**
* 如果含引号的文本框等于全部文本框的值,则校验通过
*/
if(resultTag == flag)
return true;
else
{
alert("文本框中不能含有\n\n 1 单引号: ' \n 2 双引号: \" \n 3 竖 杠: | \n 4 尖角号: < > \n\n请检查输入!");
return false;
}
}

在Oracle数据库中,PL/SQL提供了强大的异常处理机制,用于捕获和处理运行时错误,使代码更健壮,能优雅处理意外情况,提高应用程序可靠性和用户体验 [^1]。 ### 异常处理方法 PL/SQL异常处理的基本结构包含三个部分:执行部分(BEGIN - END之间的代码)、异常处理部分(EXCEPTION块)和可选的声明部分(DECLARE块)。当执行部分的代码出现异常时,控制权会转移到异常处理部分。示例代码如下: ```plsql DECLARE -- 声明部分,可声明变量等 v_num NUMBER; BEGIN -- 执行部分 SELECT column_name INTO v_num FROM table_name WHERE condition; EXCEPTION -- 异常处理部分 WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('未找到数据'); WHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE('返回了多行数据'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('发生其他异常:' || SQLERRM); END; ``` 在这个例子中,`NO_DATA_FOUND`、`TOO_MANY_ROWS` 是预定义异常,`OTHERS` 用于捕获其他未明确指定的异常,`SQLERRM` 函数用于获取异常的错误信息。 ### 异常类型 - **预定义异常**:Oracle预定义了一些常见的异常,如 `NO_DATA_FOUND`(SELECT INTO语句未返回任何行)、`TOO_MANY_ROWS`(SELECT INTO语句返回多行)、`ZERO_DIVIDE`(除数为零)等。 - **非预定义异常**:对于一些没有预定义名称的Oracle错误,需要开发者自己将错误号与异常名称关联起来。示例如下: ```plsql DECLARE e_unique_violation EXCEPTION; PRAGMA EXCEPTION_INIT(e_unique_violation, -00001); -- -00001是唯一约束违反的错误号 BEGIN INSERT INTO table_name (column1, column2) VALUES (value1, value2); EXCEPTION WHEN e_unique_violation THEN DBMS_OUTPUT.PUT_LINE('违反唯一约束'); END; ``` - **自定义异常**:开发者可以根据业务需求自定义异常。示例如下: ```plsql DECLARE e_custom_exception EXCEPTION; v_age NUMBER := 15; BEGIN IF v_age < 18 THEN RAISE e_custom_exception; END IF; EXCEPTION WHEN e_custom_exception THEN DBMS_OUTPUT.PUT_LINE('年龄未满18岁'); END; ``` ### 异常传播 异常在嵌套块中会进行传播。当一个内部块中出现异常且该块没有对应的异常处理时,异常会传播到外部块进行处理。例如: ```plsql BEGIN BEGIN SELECT column_name INTO v_variable FROM table_name WHERE condition; EXCEPTION WHEN NO_DATA_FOUND THEN -- 内部块处理部分异常 DBMS_OUTPUT.PUT_LINE('内部块未找到数据'); END; EXCEPTION WHEN TOO_MANY_ROWS THEN -- 外部块处理其他异常 DBMS_OUTPUT.PUT_LINE('外部块返回多行数据'); END; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值