JSP中插入javascript语句,要求用一个正则表示验证输入的用户名是不是含有空格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP中插入javascript语句,要求用一个正则表示验证输入的用户名是不是含有空格相关的知识,希望对你有一定的参考价值。

并且只能为6-16位数字和字母,否则提示用户名不合法

function validate()
if(!(/^\w6,16$/.test(document.getElementById(“username”).value)))
alert("用户ID必须是6~16位数字或字母!") ;
return false ;

参考技术A <html>
<head>
<script language="javascript">
function checkValue()
var objUserName = document.getElementById("txtUserName");
var reg = /^\s*(\S+)\s*$/; //为空的正则表达式
if(reg.test(objUserName.value))
//如果用户输入的内容,开头或结尾带有空格,则将空格去掉,重新赋给文本框的value属性
objUserName.value = RegExp.$1;
alert("验证通过");
else
//如果用户只输入了空格,则将空格清空
objUserName.value = "";
alert("请输入用户名");

var reg2 = /^[a-zA-Z0-9]6,16$/; //只能为6-16位数字和字母
if(reg2.test(objUserName.value))
//合法的
else
//不合法的


</script>
</head>
<body onload="">
<input type="text" id="txtUserName"/>
<button onclick="checkValue();">Check</button>
</body>
</html>
参考技术B -------是否含空
<script type="text/javascript">
function username()
name = document.getElementsByName("username");
if(name=="")
alert("用户名不能为空!");

</script>
<form>
<tr>
<td><input type=text name="uName" onblur="username()"></td>
<tr>
</form>

字符串是否全由数字组成
---------------------------------------
<script language= "Javascript "> <!--
function checkNum(str)return str.match(/\D/)==null
alert(checkNum( "1232142141 "))
alert(checkNum( "123214214a1 "))
// --> </script>

数字格式验证
---------------------------------------
//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)

var i,j,strTemp;
strTemp= "0123456789 ";
if ( NUM.length== 0)
return 0
for (i=0;i <NUM.length;i++)

j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)

//说明有字符不是数字
return 0;


//说明是数字
return 1;


判断用户名是否为数字字母下滑线
---------------------------------------
function notchinese(str)
var reg=/[^A-Za-z0-9_]/g
if (reg.test(str))
return (false);
else
return(true);
参考技术C <script>

function verify(str) //如果符合条件返回true,否则返回false
var reg = /^[a-zA-Z0-9]6,16$/;
return reg.test(str);


var result =verify("aaavvvv中国1");
alert(result);
</script>
参考技术D 一个正则好像有点难写,呵呵,有下面三个应该也能实现你的功能了吧,先判断空格,然后判断长度,最后判断是否为数字和字母

1.你先判断长度
2.数字字母的正则表达式: \d+[a-zA-Z]+|[a-zA-Z]+\d+
3.//判断一个串中是否含有空格
function isKong(szStr)

//trim方法为上面去掉字符串首尾空格的方法,不是系统方法
var str=trim(szStr);
if(strlen(str)>0)

if(str.indexOf(' ')>=0)

return true;


return false;

无法插入数据库jsp

【中文标题】无法插入数据库jsp【英文标题】:Can't insert to database jsp 【发布时间】:2015-06-19 07:17:21 【问题描述】:

我不能用这个插入或编辑记录。

我的 SQLException 有一个错误“无法访问 SQLException 的 catch 块。这个异常永远不会从 try 语句体中抛出” 刚接触java所以一切都是一个学习的过程

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
        String forward = "";
        String action = request.getParameter("action");
        if (action.equalsIgnoreCase("delete")) 
            int surveyid = Integer.parseInt(request.getParameter("survey_id"));
            firstdao.removeFirst(surveyid);
            forward = list_first;
            try 
                request.setAttribute("firsts", firstdao.getFirst());
             catch (SQLException e) 
                e.printStackTrace();
            
         else if (action.equalsIgnoreCase("edit")) 
            forward = insert_or_edit;
            int surveyid = Integer.parseInt(request.getParameter("survey_id"));
            try 
                First first = firstdao.getFirstById(surveyid);
                request.setAttribute("first", first);
             catch (SQLException e) 
                e.printStackTrace();
            
         else if (action.equalsIgnoreCase("listFirst")) 
            forward = list_first;
            try 
                request.setAttribute("firsts", firstdao.getFirst());
             catch (SQLException e) 
                e.printStackTrace();
            
         else 
            forward = insert_or_edit;
        
        RequestDispatcher view = request.getRequestDispatcher(forward);
        view.forward(request, response);
    

FirstController.java

private static final long serialVersionUID = 1L;
private static String insert_or_edit = "/first.jsp";
private static String list_first = "/listfirst.jsp";
private FirstDAO firstdao; 
public FirstController() 
super();
firstdao = new FirstDAO();

FirstDAO.java

public void addFirst(First first) 
try 
String query = "insert into survey_data_27 (uname, p1q1, p1q2, p1q3, p1q4) values('"+ first.getuname() +"', '"+ first.getp1q1() +"', '"+ first.getp1q2() +"', '"+ first.getp1q3() +"', '"+ first.getp1q4() +"')";
Statement stmt = connection.createStatement();
stmt.executeUpdate(query);
 catch (SQLException e) 
e.printStackTrace();

  

【问题讨论】:

你能展示一下firstdao的实现吗? 我已经添加了 FirstController 和 FirstDAO 你为什么不使用 PreparedStatement ? 【参考方案1】:

由于您在 DAO 类中捕获了 SQL 异常,因此它在您的 servlet 中不可见。这就是为什么你不能在那里抓住它。所以你必须删除

try  
    ... 
 catch (SQLException e) 
    e.printStackTrace();

您的 servlet 中的块。

你也应该使用准备好的语句。

【讨论】:

【参考方案2】:

您的编辑方法永远不会抛出 SQLException,因为它没有在 throws 子句中声明它。因此,您在 servlet 中的 catch 子句是无法访问的。

您不需要从 edit 方法抛出 SQLException,但也不需要用 try 块包围对 edit 的调用,也不需要捕获 SQLException。

【讨论】:

以上是关于JSP中插入javascript语句,要求用一个正则表示验证输入的用户名是不是含有空格的主要内容,如果未能解决你的问题,请参考以下文章

无法插入数据库jsp

jsp 实现打印

JavaScript 语句 for

课堂测试——增加信息

JSP/MySQL(JDBC) - Select 语句给出空结果[关闭]

SqlServer数据库要求按照两数相减结果的绝对值正序排列怎么写sql语句?