<c:set var="cardValue"> <c:if test="${fn:length(user.card) > 10}"> ${fn:substring(user.card, 0, 3)}****${fn:substring(user.card, 7, 11)} </c:if> </c:set> <input type="text" value="${cardValue }" name="card" id="idCard1" onblur="return validateIdCard1();" class="edit_text">
时间: 2023-07-21 11:10:52 浏览: 94
根据您提供的代码片段,您正在使用JSP和EL表达式对身份证数据进行脱敏处理,并将脱敏后的数据显示在一个输入框中。这样做可以确保在前端显示的身份证数据是脱敏后的,但在后端处理时,仍需使用原始的身份证数据。
在您提供的代码中,使用了 `<c:set>` 标签设置了一个名为 `cardValue` 的变量,通过 `<c:if>` 条件判断来对身份证数据进行脱敏。然后,在 `<input>` 标签中使用 `${cardValue}` 来设置输入框的值。
在提交表单时,您可以通过 `request.getParameter("card")` 来获取用户在输入框中输入的值,这个值是用户输入的原始身份证数据,而不是脱敏后的数据。您可以使用这个原始数据来进行后端的比较和处理。
请注意,脱敏处理和输入框显示只是前端展示的一种方式,具体的后端处理逻辑仍然需要根据您的实际需求进行编写。
相关问题
String verifyCard = verifyUser.getCard();将<c:set var="cardValue"> <c:if test="${fn:length(user.card) > 10}"> ${fn:substring(user.card, 0, 3)}****${fn:substring(user.card, 7, 11)} </c:if> </c:set> <input type="text" value="${cardValue }" name="card" id="idCard1" onblur="return validateIdCard1();" class="edit_text">进行脱敏
根据您提供的代码,您想要将 `verifyUser` 对象中的 `card` 字段进行脱敏处理,并将脱敏后的数据显示在一个输入框中。
首先,您可以使用 `verifyUser.getCard()` 获取 `verifyUser` 对象中的 `card` 字段的值,将其赋值给一个名为 `verifyCard` 的字符串变量。
然后,您可以在相应的位置添加以下代码片段来实现脱敏处理和显示:
```java
<c:set var="cardValue">
<c:if test="${fn:length(verifyCard) > 10}">
${fn:substring(verifyCard, 0, 3)}****${fn:substring(verifyCard, 7, 11)}
</c:if>
</c:set>
<input type="text" value="${cardValue}" name="card" id="idCard1" onblur="return validateIdCard1();" class="edit_text">
```
在这段代码中,我们将 `verifyCard` 的值传递给 `<c:if>` 条件判断来判断是否需要进行脱敏处理。如果 `verifyCard` 的长度大于10,则执行 `<c:if>` 标签内部的逻辑。在内部逻辑中,使用 `<fn:substring>` 函数截取了身份证号的前三位和后四位,并用 `****` 替换了中间的部分。最终,将脱敏后的数据赋值给 `cardValue`。
最后,使用 `<input>` 标签来显示脱敏后的数据,将 `cardValue` 赋值给 `value` 属性,这样脱敏后的数据就会显示在输入框中。
请注意,以上代码片段是基于JSP页面的示例,如果您使用的是其他前端框架或技术,请根据相应的语法进行调整和修改。
将<c:choose> <c:when test="${fn:length(user.name)>2}"> ${fn:substring(user.name, 0, 1)}*${fn:substring(user.name, fn:length(user.name)-1, fn:length(user.name))} </c:when> <c:when test="${fn:length(user.name)<=2 && fn:length(user.name)>0}"> ${fn:substring(user.name, 0, 1)}* </c:when> <c:otherwise> </c:otherwise> </c:choose>写人String verifyName = verifyUser.getPhone(); if (verifyName.length() > 2){ } String idName = userInfo.getName(); // 进行比较 if (idName.equals(verifyName)) { userInfo.setName(verifyUser.getName()); } if (userInfo.getName().contains("*")){ out.print("<script>top.Dialog.alert('名字异常无法保存');window.location.href='id?u=" + userInfo.getUsername() + "';</script>"); out.close(); return; }
在给定的代码片段中,将`<c:choose>`、`<c:when>` 和 `<c:otherwise>` 标签替换为相应的代码逻辑,并将处理用户姓名的部分插入到Controller中:
```java
String verifyName = verifyUser.getPhone();
if (verifyName.length() > 2) {
verifyName = verifyName.substring(0, 1) + "*" + verifyName.substring(verifyName.length() - 1);
}
String idName = userInfo.getName();
// 进行比较
if (idName.equals(verifyName)) {
userInfo.setName(verifyUser.getName());
}
if (userInfo.getName().contains("*")) {
out.print("<script>top.Dialog.alert('名字异常无法保存');window.location.href='id?u=" + userInfo.getUsername() + "';</script>");
out.close();
return;
}
```
在上述代码中,我将原先的`<c:choose>`、`<c:when>` 和 `<c:otherwise>` 标签替换为Java代码逻辑,并将用户姓名处理的部分放置在验证手机号码后。现在你可以将这段代码插入到你的Controller中以实现相应的功能。
阅读全文